任何人都可以解释我在MySQL 5.1上找到的死锁和Lockwait错误的细节。它是一样的吗?什么时候发生死锁错误以及锁定超时发生在什么时候?MySQL上的死锁与Lockwait超时
2
A
回答
13
甲死锁发生其中存在交易必须为了继续获得锁之间的循环依赖关系:例如,假设事务1持有锁A,但需要获得锁B至前进;并且交易2持有锁B但需要获得锁A以继续进行—交易是立即死锁(不需要超时)并且两者都可以继续,直到释放其锁。因此,唯一的解决方案是回滚一个事务(应用程序代码应检测到这种可能性并进行相应处理,通常是通过再次尝试事务)。
甲等待超时当配置的超时周期(例如innodb_lock_wait_timeout
InnoDB的锁的情况下 )为止,而事务等待一个锁,也许是因为一个缓慢的查询持有锁并且尚未完成执行发生。如果事务等待时间更长,则可能(甚至有可能)该锁将变为可用并被获取,但是存在超时以避免应用程序无限期地等待数据库。
1
死锁是两个线程无限等待在同一件事情上。 锁定等待超时表示一个线程在等待锁定时超时,从而防止死锁。
相关问题
- 1. TinyTDS超时和死锁LOT
- 2. grails服务与MySQL锁死
- 3. sqlalchemy + mysql死锁
- 4. MYSQL中的死锁
- 5. MySQL的死锁问题与InnoDB的
- 6. DB2操作超时或死锁
- 7. 死锁和超时打破ACID事务
- 8. 在MySQL中创建超时和死锁错误
- 9. MySQL删除行上的死锁
- 10. 死锁与sigsuspend()
- 11. “死锁”与MPI_Waitall
- 12. MySQL,索引和“锁超时超时”
- 13. mysql事务死锁
- 14. MySQL死锁问题
- 15. Mysql死锁检测
- 16. 与MPI的死锁
- 17. MySQL死锁问题(PHP/MYSQL)
- 18. 死锁只与Galera MYSQL集群
- 19. MYSQL:死锁与简单查询
- 20. MySQL的死锁错误
- 21. MySQL的死锁某些列
- 22. 插入Mysql的死锁
- 23. MySQL的InnoDB的死锁与排它锁(FOR UPDATE)
- 24. 在Amazon RDS上调试MySQL死锁
- 25. 锁等待超时超标在MySQL
- 26. MySql查询滞后时间/死锁?
- 27. existingObjectWithID死锁与NSPrivateQueueConcurrencyType
- 28. MySQL的 - 死锁时,试图获得锁定
- 29. 解锁lock.tryLock与超时
- 30. 死锁预防(Java + MySQL)
这篇文章中的大部分内容都是错误的。新来者请采取eggyal的答案。 –