1.查询是否锁表
show OPEN TABLES where In_use > 0;
2.查询进程
show processlist;
3.杀死进程id(上面命令所查数据的id)
kill id
4.查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
5.查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
6.查看锁的类型和状态
show status like '%lock%';
7.查看 innodb 锁的参数
show variables like 'innodb%lock%';
8.分析死锁
MySQL 5.6.16 版本之后,修改系统参数 innodb_status_output
set GLOBAL innodb_status_output=ON;
set GLOBAL innodb_status_output_locks=ON;
show engine innodb status;