mysql抓包 mysql怎么捕捉阻塞

导读:本文介绍了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表查看当前正在执行

    推荐阅读