您的位置:首页 > 数据库 > MySQL

MySql解除正在死锁的状态

2018-03-16 18:20 225 查看

解除正在死锁的状态有两种方法:

第一种:

 首先查询是否锁表:SHOW OPEN TABLES WHERE In_use > 0;
查询进程,保证拥有超级管理员权限: SHOW PROCESSLIST;

杀死进程id(就是上面命令的id列):KILL id; 

第二种:

 查看下在锁的事务 :SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
杀死进程id(就是上面命令的trx_mysql_thread_id列):kill 线程ID
 其它关于查看死锁的命令:
1:查看当前的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2:查看当前锁定的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;3:查看当前等锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 
批量杀死进程SQL:  
SELECT concat( 'KILL ', id, ';' ) FROM information_schema.PROCESSLIST WHERE USER = 'root' INTO OUTFILE '/tmp/kill.txt';
SOURCE /tmp/kill.txt;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: