Home >Backend Development >PHP Tutorial >怎么找出MYSQL的连接超时原因,怎么监控MYSQL

怎么找出MYSQL的连接超时原因,怎么监控MYSQL

WBOY
WBOYOriginal
2016-06-13 10:52:441008browse

如何找出MYSQL的连接超时原因,如何监控MYSQL

最近发现数据库突然就因为连接数过多死掉了
里面很多进程都在等待,不少表被锁了。。

1、查过网站是没有长连接的
2、interactive_timeout和wait_timeout都设置为20秒

那问题应该是一些数据库操作引起的问题,但应该从何查起。
不实时查看的话,有没有办法可以查到哪些连接超过了interactive_timeout和wait_timeout设置的最大值。
或者说哪些连接出现过问题

这样有了记录就比较容易找原因了?还是说有其它办法,望指点。。谢谢

------解决方案--------------------
通常我需要记录那些执行时间很长的sql语句以监视哪些程序需要改进以提高速度。

方法很简单:

找到你的mysql的配置文件,添加一下一段或者找到以后一段把注释去掉

 

SQL代码
log_slow_queries = /var/blogguy.cn/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes = true
 

第一行指定记录文件地址,第二行指定长查询的时间,查过此时间则记录,第三行指定是否记录没有使用索引的查询。

保存重启mysql生效。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn