2018年04月6日网站服务器迁移完成……

解决Mysql “Too many connections”问题

mysql 苏 demo 1073℃ 0评论

检查mysql配置的两个参数max_connections【最大连接数】和 wait_timeout【连接空闲等待时长】,如果是默认值,请自行修改:

set global max_connections=3000;
set global wait_timeout=10;

检查mysql慢查询日志
1)发现一条 sql如下结构: select count(*) from table where …, 我的业务表示INNODB,查阅资料发现,select count(*) from table,MyISAM只要简单的读出保存好的行数,而InnoDb会扫描所有的行数;但当该sql包含where时,两者都会对全表扫描,当然where后是索引会快的多。如果表的数据确实很大,比如我,就做了cache处理
2)慢查询中出现了table level lock,但是表的Innodb引擎。怎么回事?InnoDB 是行级锁,原则上,更新操作只会锁住需要修改的行。如果读和写是相同的行,会阻塞;如果是不同的行,可以并发操作。不过InnoDB的行锁是通过索引实现的,如果检索条件没有索引,则会使用表锁。

打赏

转载请注明:苏demo的别样人生 » 解决Mysql “Too many connections”问题

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情