导读:本文介绍了mysql怎么捕捉阻塞的方法,包括使用show processlist命令查看当前正在执行的进程 , 使用information_schema.processlist表查看当前正在执行的进程,使用performance_schema.events_statements_current表查看当前正在执行的进程,以及通过设置long_query_time来监控慢查询 。
【mysql抓包 mysql怎么捕捉阻塞】1、使用show processlist命令查看当前正在执行的进程,它会显示当前正在执行的sql语句,以及其他一些信息,如状态,时间,id等 。我们可以根据状态来判断是否存在阻塞,如果状态为sleep,则表示该进程正在等待其他进程释放锁,因此存在阻塞 。
2、使用information_schema.processlist表查看当前正在执行的进程,该表中保存了所有正在执行的进程的信息 , 包括id,用户,host , db,command , time,state , info等 。我们可以根据state字段来判断是否存在阻塞,如果state为Waiting for table metadata lock,则表示该进程正在等待其他进程释放锁,因此存在阻塞 。
3、使用performance_schema.events_statements_current表查看当前正在执行的进程,该表中保存了所有正在执行的进程的信息,包括thread_id,event_name,duration,status等 。我们可以根据status字段来判断是否存在阻塞,如果status为Waiting for table metadata lock,则表示该进程正在等待其他进程释放锁 , 因此存在阻塞 。
4、通过设置long_query_time来监控慢查询,当查询时间超过long_query_time设置的时间时,mysql会将该查询写入到慢查询日志中,我们可以根据慢查询日志中的信息来查看是否存在阻塞,如果存在阻塞 , 则可以根据慢查询日志中的信息来分析原因 。
总结:mysql捕捉阻塞的方法有多种,包括使用show processlist命令查看当前正在执行的进程,使用information_schema.processlist表查看当前正在执行的进程,使用performance_schema.events_statements_current表查看当前正在执行
推荐阅读
- mysql5.7分区表 mysql分区表的优缺点
- mysql8调优 mysql调优方案
- mysql查询语法 mysql查询语句用问号
- mysql最后一步一直卡着 mysql最后5条记录
- mysql注入攻击与防御 mysql5.2防注入
- 云服务器环境配置失败怎么解决? 云服务器配置环境不成功怎么办呢