MySQL中怎么查看死锁日志
这篇文章给大家介绍MySQL中怎么查看死锁日志,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
目前创新互联建站已为上千家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、抚宁网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
MySQL查看死锁日志
show engine innodb status
什么情况下会造成死锁
所谓死锁
死锁案例
例如(以下会话id为主键):
mysql> select * from t3 where id=9 for update; +----+--------+------+---------------------+ | id | course | name | ctime | +----+--------+------+---------------------+ | 9 | JX | f | 2016-03-01 11:36:30 | +----+--------+------+---------------------+ row in set (0.00 sec)
Session2:
mysql> select * from t3 where id<20 for update; ## 锁等待中
Session1:
mysql> insert into t3 values(7,'ae','a',now()); ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction
Session2在等待Session1的id=9的锁,session2又持了1到8的锁(注意9到19的范围并没有被session2锁住),最后,session1在插入新行时又得等待session2,故死锁发生了。
关于MySQL中怎么查看死锁日志就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章名称:MySQL中怎么查看死锁日志
文章路径:http://scjbc.cn/article/geicps.html