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

时间:2021-02-01 17:27:09

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

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

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

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

6 个解决方案

#1


通常我需要记录那些执行时间很长的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生效。

#2


引用 1 楼  的回复:
通常我需要记录那些执行时间很长的sql语句以监视哪些程序需要改进以提高速度。

好,我试试看。。。

#3


引用 1 楼  的回复:
SQL代码
log_slow_queries    =  /var/blogguy.cn/log/mysql/mysql-slow.log   
long_query_time = 1   
log-q……

只能记录查询语句吗,更改操作的记录不了吗
只是能找到第一个超过interactive_timeout和wait_timeout设置的最大值的连接的SQL就好了。。

#4


引用 1 楼  的回复:
通常我需要记录那些执行时间很长的sql语句以监视哪些程序需要改进以提高速度。

方法很简单:

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

 

SQL代码
log_slow_queries    =  /var/blogguy.cn/log/mysql/mysql-slow.log   
long_query_time = 1   
log-q……


学习了

#5


该回复于2012-10-11 09:21:34被版主删除

#6


该回复于2013-01-08 15:30:48被管理员删除

#1


通常我需要记录那些执行时间很长的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生效。

#2


引用 1 楼  的回复:
通常我需要记录那些执行时间很长的sql语句以监视哪些程序需要改进以提高速度。

好,我试试看。。。

#3


引用 1 楼  的回复:
SQL代码
log_slow_queries    =  /var/blogguy.cn/log/mysql/mysql-slow.log   
long_query_time = 1   
log-q……

只能记录查询语句吗,更改操作的记录不了吗
只是能找到第一个超过interactive_timeout和wait_timeout设置的最大值的连接的SQL就好了。。

#4


引用 1 楼  的回复:
通常我需要记录那些执行时间很长的sql语句以监视哪些程序需要改进以提高速度。

方法很简单:

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

 

SQL代码
log_slow_queries    =  /var/blogguy.cn/log/mysql/mysql-slow.log   
long_query_time = 1   
log-q……


学习了

#5


该回复于2012-10-11 09:21:34被版主删除

#6


该回复于2013-01-08 15:30:48被管理员删除