忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
1234下一页
最近访问板块 发新帖
查看: 29792 | 回复: 34

浅谈Mysql高可用,DBA们将如何应对? [复制链接]

论坛徽章:
9
IT运维版块每日发帖之星
日期:2015-08-27 06:20:00IT运维版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-23 06:20:00IT运维版块每日发帖之星
日期:2015-11-22 06:20:00操作系统版块每周发帖之星
日期:2015-12-02 15:01:04白银圣斗士
日期:2015-12-07 18:37:03数据库技术版块每日发帖之星
日期:2015-12-10 06:20:00数据库技术版块每周发帖之星
日期:2016-02-03 16:55:092017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2015-12-07 18:15 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
9
IT运维版块每日发帖之星
日期:2015-08-27 06:20:00IT运维版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-23 06:20:00IT运维版块每日发帖之星
日期:2015-11-22 06:20:00操作系统版块每周发帖之星
日期:2015-12-02 15:01:04白银圣斗士
日期:2015-12-07 18:37:03数据库技术版块每日发帖之星
日期:2015-12-10 06:20:00数据库技术版块每周发帖之星
日期:2016-02-03 16:55:092017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2015-12-07 18:21 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
7
IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00平安夜徽章
日期:2015-12-26 00:06:30技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34fulanqi
日期:2016-06-17 17:54:25C
日期:2016-10-25 16:08:32
发表于 2015-12-09 14:07 |显示全部楼层
好书,占楼先 ...

论坛徽章:
135
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
发表于 2015-12-09 14:11 |显示全部楼层
这回复。。。。。回复 3# demilich


   

论坛徽章:
89
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2015-12-09 15:22 |显示全部楼层
1. 如果是你,你怎么处理慢查询引起的问题,并且在以后避免这种情况发生?
  我们一般是这样处理的:根据show出来的查询语句内容以及用户名去找到相关的查询发起者,询问使用目的以及是否可以杀掉,一般来说同事都会理解同意杀掉的,不同意那就约定一下再等多久非杀不可;并请发起者优化查询,有需要找到开发增加索引之类的,以及与发起者沟通把查询时间放在服务器空闲的时候,或者使用从库查询,或是使用备份数据来查询。

2. 除了慢查询,还有哪些情况会导致MySQL卡顿,查询较慢?
  有时候是由于磁盘 IO 慢导致查询慢了。可能还有其它并发读写磁盘、其它进程抢占 CPU 等情况,但我们的数据库是单独运行在一台机器上的,所以没有遇到其它的可能情况。

3. 针对于数据库优化,您有哪些比较实用的建议和想法?
  很多的方案都从书上读来的,用得多的还是根据数据查询、写入等的使用情况来设计合理的索引。

4. 结合生产环境,您觉得 MySQL,较于PG NOsql DB2 Sybase MongoDB Oracle等数据库来,他的优点在哪?在什么情况下你会使用其它类型的DB
  咱是因为免费而用的 MySQL,而且有很多不同的引擎可以根据应用场景选用,挺灵活的。
  我们的应用是 MySQL 与 SQLite 并且,当远程的 MySQL 不能连接的时候将需要保存的数据暂存在本地的 SQLite 里,等可以访问远程 MySQL 的时候再自动把本地的数据传上去。
  
5. 如果您是数据库的设计者,您会去怎么设计数据库的引擎和结构?
  不在其位不谋其政,不是不想谋,而是经验水平知识技能等不够,咱就会几句 select,所以这个问题只能远观啊,总的来说底层设计都是为上层服务的,根据上层应用的需求来考虑,比如主要以备份为目的只查询的,用列存储;随机存取的用哈希;追求速度的用内存等等。

论坛徽章:
12
CU大牛徽章
日期:2013-04-17 11:20:3615-16赛季CBA联赛之福建
日期:2017-03-13 11:33:442017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:13:29IT运维版块每日发帖之星
日期:2016-03-15 06:20:01IT运维版块每日发帖之星
日期:2015-10-02 06:20:00CU十二周年纪念徽章
日期:2013-10-24 15:41:34CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-04-17 11:46:39CU大牛徽章
日期:2013-04-17 11:46:2815-16赛季CBA联赛之吉林
日期:2017-05-25 16:45:47
发表于 2015-12-09 15:49 |显示全部楼层
占楼观望高手们表演

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-09-08 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00
发表于 2015-12-10 10:14 |显示全部楼层
本帖最后由 skykiker 于 2015-12-10 10:31 编辑

1. 如果是你,你怎么处理慢查询引起的问题,并且在以后避免这种情况发生?
  想看这条SQL本身慢是否合理,再看这条SQL的存在性是否合理,要和开发确认这条SQL的目的。

2. 除了慢查询,还有哪些情况会导致MySQL卡顿,查询较慢?         
可能到了系统资源瓶颈,CPU,IO,MEM,network。还有可能程序设计不当,过于频繁的查询,1个操作执行N个SQL。遇到过1个操作发行1w多个SQL的奇葩例子,那些SQL是ORM自动生成的。还遇到过一个另一个奇葩的例子,应用开发人员为了减轻DB的压力,想当然的把本该在服务端做的复杂查询放到了应用端计算,结果引发了大量的网络交互把系统拖死,后来这个问题通过物化视图解决了(那是Oracle的案例,MySQL不支持物化视图)。

3. 针对于数据库优化,您有哪些比较实用的建议和想法?
  首先要结合应用设计,数据表设计,缓存,索引在设计上优化。其次才是数据库层的参数调优之类。

4. 结合生产环境,您觉得 MySQL,较于PG NOsql DB2 Sybase MongoDB Oracle等数据库来,他的优点在哪?在什么情况下你会使用其它类型的DB
  MySQL较PG的优点是用的人多,DBA好找,除此以外我找不到任何MySQL明显比PG强的地方!单纯从数据库本身选型,基本上任何适合MySQL的场景都适合用PG,而且很多时候是更适合用PG。因为PG的功能特性,可靠性和综合性能都远远强与MySQL。
  为什么这么说?功能特性方面,对比一下PG手册和MySQL手册上的功能自然就会明白,另外PG对JSON的完美支持使之可以完全替代MongoDB(MySQL 5.7对JSON的支持是不完整的)。可靠性方面,PG的对数据一致性有严格的保护,同步流复制可以轻松确保HA集群数据不丢,实际案例也证明,PG很少会宕机,而且宕机后也很少会起不来或丢数据(硬盘没有坏掉的前提下)。而使用MySQL的复制技术做HA,要确保不丢数据需要在部署上花很大的功夫。至于性能,非常简单的查询两者相差不大,复杂一些的查询PG会把MySQL远远甩在后面。PG还有非常丰富的索引,甚至可以定制索引以应对以前没人见过的场景。最后一点,有些公司不敢上PG是因为找不到有经验的PG DBA,实际上PG没有MySQL那么多坑,不需要多少踩坑经验,对着手册就可以轻松部署,当然也可以找提供PG第3方服务的公司协助。
  
5. 如果您是数据库的设计者,您会去怎么设计数据库的引擎和结构?
  极少有业务已经到了现有的任何一个数据库无法满足需求,要重新设计一个数据库的地步。真有的话看业务场景吧!

论坛徽章:
29
CU大牛徽章
日期:2013-05-20 10:45:13数据库技术版块每日发帖之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:29
发表于 2015-12-10 16:47 |显示全部楼层
1.如果是你,你怎么处理慢查询引起的问题,并且在以后避免这种情况发生?
对于MySQL的慢查询问题,通常我们是这么干的:
1)开启MySQL服务器的慢查询记录功能
mysql> set global slow_query_log=ON;
mysql> show variables like "slow%";
+---------------------+------------------------------------+
| Variable_name       | Value                              |
+---------------------+------------------------------------+
| slow_launch_time    | 2                                  |
| slow_query_log      | ON                                 |
| slow_query_log_file | /opt/mysql/data/sql-slow.log |
+---------------------+------------------------------------+
3 rows in set (0.00 sec)
2)出现慢查询问题后,查看慢查询日志/opt/mysql/data/sql-slow.log
3)分析具体的问题,进行相应的处理。

2.除了慢查询,还有哪些情况会导致MySQL卡顿,查询较慢?
导致MySQL缓慢的因素有很多。比如:
1)DB数据模型设计不佳,长期运行后缓慢;
2)MySQL未做优化
比如默认的max_connections是150,可根据实际情况调整
又比如innodb_buffer_pool_size的设置,MySQL的优化点有很多
3)Linux服务器OS未做优化:内核参数、网络参数都需要根据实际情况调优
比如打开文件数,默认是1024,不能不优化
4)MySQL服务器的硬件可作优化:存储采用SSD等
5)网络带宽因素等

3.针对于数据库优化,您有哪些比较实用的建议和想法?
对于MySQL数据库的优化,可以跟随Percona的脚步,他们的优化做得非常好。
MariaDB也可以考虑。

4.结合生产环境,您觉得MySQL,较于PG NOsql DB2 Sybase MongoDB Oracle等数据库来,他的优点在哪?在什么情况下你会使用其它类型的DB
相比PG NOsql DB2 Sybase MongoDB Oracle等数据库,MySQL稳定、免费、易用,使用它可以减少开发时间,而且它也靠得住。

5.如果您是数据库的设计者,您会去怎么设计数据库的引擎和结构?
这方面没做过。对于MySQL引擎,一般我选择InnoDB引擎或者是XtraDB引擎,并做好优化即可。
未做深入。

论坛徽章:
0
发表于 2015-12-11 08:56 |显示全部楼层
看起啦是本好书,占个楼留个名就OK了 , 准备自己买一本靠谱点!坐观各位看官点评!

   

论坛徽章:
12
数据库技术版块每日发帖之星
日期:2015-07-08 22:20:00IT运维版块每日发帖之星
日期:2016-05-01 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44IT运维版块每月发帖之星
日期:2016-03-07 16:25:25IT运维版块每日发帖之星
日期:2016-02-21 06:20:00IT运维版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-02-06 06:20:00IT运维版块每日发帖之星
日期:2016-01-30 06:20:00IT运维版块每日发帖之星
日期:2016-01-03 06:20:00IT运维版块每日发帖之星
日期:2015-11-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00
发表于 2015-12-11 09:16 |显示全部楼层
一直不喜欢mysql的路过
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP