MySQL数据库十宗罪.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各位老铁们,福利来了!今儿给大家说说数据库中十大经典错误案例。在刚开始学习数据库的时候,真的是没少走弯路,经常会遇到各种稀奇古怪的error信息,一般遇到报错信息之后就很慌张,急需一个解决问题的办法,跟无头苍蝇一样,并会不加思索地把错误粘到百度上,希望赶紧查找一下有没有好的处理问题的方法,省得被领导说能力不行。我想这个应该是刚从事数据库的小白,都会遇到窘境。在这里呢,给大家列举MySQL数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界!Top? 1:???Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行)问题还原mysql?show?variables?like %max_connection%;|?Variable_name???|?Value?|max_connections?|?151???|?mysql set global?max_connections=1;Query?OK,?0?rows?affected?(0.00?sec)[root@node4?~]#?mysql?-uzs?-p123456?-h?192.168.56.132ERROR?1040?(00000):?Too?many?connections解决问题的思路:????1.首先先要考虑在我们mysql数据库参数文件里面对应的max_connections这个参数值是不是设置的太小了,导致客户端连接数超过了数据库所承受的最大值。该值默认大小是151,我们可以根据实际情况进行调整。???对应解决办法:set global max_connections=500但是这样调整会有隐患,因为我们无法确认数据库是否可以承担这么大的连接压力,就好比原来一个人只能吃一个馒头,但现在却非要让他吃10个,他肯定接受不了。反应到服务器上面,就有可能会出现宕机的可能。所以这又反应出了,我们在新上线一个业务系统的时候,要做好压力测试。保证后期对数据库进行优化调整。2.其次可以限制Innodb的并发处理数量,如果innodb_thread_concurrency = 0(这种代表不受限制)可以先改成 16或是64 看服务器压力,如果非常大,可以先改的小一点让服务器的压力下来之后,然后再慢慢增大,根据自己的业务而定。个人建议可以先调整为16即可。MySQL随着连接数的增加性能是会下降的,在mysql5.7之前都需要让开发配合设置thread pool,连接复用。mysql5.7之后数据库自带thread pool了,连接数问题也得到了相应的解决。另外对于有的监控程序会读取information_schema下面的表,可以考虑关闭下面的参数innodb_stats_on_metadata=0set global innodb_stats_on_metadata=0Top 2:(主从复制报错类型)Last_SQL_Errno: 1062??(从库与主库数据冲突)Last_Errno:?1062Last_Error:?Could?not?execute?Write_rows?event?on?table test.t;?Duplicate?entry? 4? for key? PRIMARY,?Error_code:?1062;?handler?error?HA_ERR_FOUND_DUPP_KEY;?the?events?master?log?mysql-bin.000014,?end_log_pos?1505针对这个报错,我们首先要考虑是不是在从库中误操作导致的。结果发现,我们在从库中进行了一条针对有主键表的sql语句的插入,导致主库再插入相同sql的时候,主从状态出现异常。发生主键冲突的报错。解决方法:在确保主从数据一致性的前提下,可以在从库进行错误跳过。一般使用percona-toolkit中的pt-slave-restart进行。在从库完成如下操作[root@zsbin]# ./pt-slave-restart -uroot -proot1232017-07-20T14:05:30 p=...,u=root node4-relay-bin.000002??????? 1506 1062?之后最好在从库中开启read_only参数,禁止在从库进行写入操作Last_IO_Errno: 1593(server-id冲突)Last_IO_Error:?Fatal?error:?The?slave I/O thread?stops?because?master?and?

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档