mysql : Lock wait timeout exceeded; try restarting transaction
2016-01-28 11:08
441 查看
最近在维护mysql数据库时,解析数据时候,数据一直不能入库。原因知道,是因为MySQL的事务产生了死锁,
解决方法:
执行语句: SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
查看执行比较久的事务。如果当前时间select sysdate();AM 10:07而事物开始的时间是:AM 9:50,显示是不正常的。根据这个事物的线程ID(trx_mysql_thread_id)。
执行命令:
kill 线程ID
数据库修复正常。
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
解决方法:
执行语句: SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
查看执行比较久的事务。如果当前时间select sysdate();AM 10:07而事物开始的时间是:AM 9:50,显示是不正常的。根据这个事物的线程ID(trx_mysql_thread_id)。
执行命令:
kill 线程ID
数据库修复正常。
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
相关文章推荐
- mysql 的 几种 timeout(更新中......)
- SqlServer实时数据同步到mysql
- 破解mysql root密码的几种方法
- mysqldump
- MySQL日期时间函数大全
- pdo_mysql安装
- MySQL开发规范与使用技巧总结
- mysql 添加索引 mysql 如何创建索引
- MySQL执行状态分析
- navicat for mysql 10.1.7注册码
- mysql中的null字段值的处理及大小写问题
- 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析
- mysql 5.7.10安装配置
- mysql5.7.10安装
- MySQL恢复中的几个问题解决方法
- MySQL性能优化的最佳经验
- Mysql 表分区
- mysql加入行号
- mysql汉字首字母
- mysql 替换某个字段中的某个字符