Mysql-innodb死锁排查工具箱

1. 使用information_schema表查询当前持有锁的线程信息

information_schema库是一个sql标准中定义的系统视图的集合,针对innodb的一些比较有用的视图有innodb_trx、innodb_locks、innodb_lock_waits等

SELECT * FROM information_schema.INNODB_TRX \G;
SELECT * FROM information_schema.INNODB_lock_waits;
SELECT * FROM information_schema.INNODB_locks;

Mysql-innodb死锁排查工具箱_第1张图片
查看事务情况.png
Mysql-innodb死锁排查工具箱_第2张图片
查看锁信息.png

可以看到,线程号27的sql一直持有着一条记录的纪录锁,需要重点关注

2. 查看Innodb引擎信息

show engine innodb status\G;

Mysql-innodb死锁排查工具箱_第3张图片
查看Innodb引擎信息.png

可以看到,线程号27的sql的事务号为35670,而且是活跃的,已经持有锁1210秒

3. 查看服务器所有连接信息

show full processlist;

该命令可以查看有哪些主机及线程连接到了mysql服务器


Mysql-innodb死锁排查工具箱_第4张图片
查看连接信息.png

你可能感兴趣的:(Mysql-innodb死锁排查工具箱)