mysql deadlock found when trying to get lock暴力解决

如若你在运行代码时出现此问题,那么此博客可以略过了。

如若你也不知道怎么操作后,突然对表进行增删查改的操作后,出现此问题,那么采用暴力解决法

方案一:

1、查询是否锁表

show OPEN TABLES where In_use >0;

2、在mysql黑框中或者navicat查询界面中输入:

show processlist;

查看mysql当前的全部线程。(只能查看这个账户下操作的线程)

2、利用kill id(上面命令的id列) ,杀死Command为Query的进程即可

方案2:

1、查看在锁的事务

select * from information_schema.innodb_trx; 查看下在锁的事务

2、杀死进程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;

参考自:https://blog.csdn.net/ejinxian/article/details/79212329
————————————————
版权声明:本文为CSDN博主「chdeWang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38383877/article/details/88085063

上一篇:MySQL数据库命令


下一篇:xml文件中 aop的配置