• 查看当前Mysql所有的进程

show processlist;

  • 查看Mysql的最大缓存

show global variables like "global max_allowed_packet"

  • 查看当前正在进行的事务

select * from information_schema.INNODB_TRX

  • 查看当前Mysql的连接数

show status like 'thread%'

按照上面的几个语句,一步一步跟踪定位下来。

在当前数据库中,看到处于 Sleep 状态的SQL非常多,而这也是占用CPU过高的重大原因,休眠线程太多,于是配置了一个 wait_time_out 为 600 秒的一个解决方案。

为什么配置600秒,因为我们应用超时时间配置的最大时间就是 600秒,10分钟,这里的配置需要根据业务来具体配置。