查看MySQL数据库的死锁信息
来源:互联网 发布:dsa数据 编辑:程序博客网 时间:2024/05/22 00:27
服务器运行一天后,就开始频繁报错:Deadlock found when trying to get to lock; try restarting transaction.
死锁的头号原因是外键未加索引,第二号原因是位图索引遭到并发更改;
方法和步骤
- 如何查看MySQL数据库的死锁日志
1. 使用终端或命令提示符登录到MySQL,输入命令:mysql -h xxxx.xxx.xxx -P 3306 -u username -p
解释:xxxx.xxx.xxx是数据库IP地址,username是数据库用户名,输入命令后,会让你输入username对应的密码,就可以登录了
2. 如何查看MySQL数据库的死锁信息
在MySQL客户端下输入命令:
show engine innodb status \G;
3. 如何定位MySQL数据库的死锁信息
在打印出来的信息中找到“LATEST DETECTED DEADLOCK”一节内容,看图中红线
4. 如何分析日志,定位死锁原因
看3里面的图,紫色划线部分
分析:
事务1,等待
RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`,这个位置的X锁
事务2,持有
RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`这个地方的S锁
事务2,等待这个地方的X锁
理论上这个事务2是可以提交的不会,死锁,但是这个事务日志只打印最后一部分死锁,信息,这里面隐含的条件是,事务1也持有
RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`这个地方的S锁,这样,事务2不能加X锁,同时事务1也不能加X锁,产生死锁。
0 0
- 查看MySQL数据库的死锁信息
- mysql查看数据库和表的信息
- 事务与锁定-查看死锁的信息
- 查看MySQL数据库状态信息
- MySQL查看数据库相关信息
- 终端查看mysql数据库信息,
- MySQL数据库死锁的解决办法
- 查看数据库死锁情况的存储过程
- 查看数据库死锁的存储过程SP_WHO_LOCK
- Oracle数据库的死锁查看与处理
- 查看数据库中死锁的进程
- Linux上查看mysql数据库启动信息的命令
- MySQL 查看数据库相关信息的SQL脚本
- MySQL,查看数据库的信息,大小,最后修改时间等
- MySQL 查看数据库中有主外键关系的表信息 2
- MySQL 查看数据库中有主外键关系的表信息
- MySQL 查看数据库中有主外键关系的表信息 2
- mysql数据库命令查看数据库信息。
- Dagger2使用(一)Dagger2 介绍
- 深度学习——训练过程
- 问个好
- Caffe Windows CPU 安装
- http协议详解
- 查看MySQL数据库的死锁信息
- gaussian mixture model
- unity3d 5.5以上场景物体不能被移动不能编辑问题
- SAP根据配置表名和配置信息查找传输请求号及时间
- udp与tcp协议介绍
- Uiautomator 2.0 VS 1.0
- hash链表自动生成宏
- 使用机顶盒录码流方法
- 技术 svn 使用简介