mysql锁表死锁了怎么办_mysql 表死锁
2021/9/5 19:38:15
本文主要是介绍mysql锁表死锁了怎么办_mysql 表死锁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天因为mysql导入数据,导致其中一张表死锁 下面来说说怎么解决死锁问题
1.先说明一下导致mysql 死锁的四个条件
互斥条件:就是一个资源只能有一个进程占有,不可以被两个或者多个进程占有
不可抢占条件:进程已经获得的资源在未使用完之前,不可以被抢占,只能在使用完之后自己释放
占有申请条件:进程自己已经至少保持一个资源,又请求其他资源,但是这个资源被其他进程占有,而且又不释放自己已经占有的资源
循环等待条件:发生死锁时,必定会形成一个进程——资源的环路。进程集合{p1,p2,p3}中,p1请求p2占有的资源,p2请求p3占有的资源,p3请求p1占有的资源
解决死锁的方案
第一种:
1.查询是否锁表
show OPEN TABLES where In_use > 0;
2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)
show processlist
3.杀死进程id(就是上面命令的id列)
kill id
第二种:
1.查看下在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2.杀死进程id(就是上面命令的trx_mysql_thread_id列)
kill 线程ID
这篇关于mysql锁表死锁了怎么办_mysql 表死锁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南