deal:
1、查询是否锁表
show OPEN TABLES where In_use > 0;
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
2、查询进程
show processlist ;
id #ID标识,要kill一个语句的时候很有用
use #当前连接用户
host #显示这个连接从哪个ip的哪个端口上发出
db #数据库名
command #连接状态,一般是休眠(sleep),查询(query),连接(connect)
time #连接持续时间,单位是秒
state #显示当前sql语句的状态
info #显示这个sql语句
查询到有锁死的表的id
发现进程id为xx的进程状态为Locked
直接mysql> kill id
本文转自卫庄的痛 51CTO博客,原文链接:http://blog.51cto.com/crfsz/1842002,如需转载请自行联系原作者