ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql修改表数据,锁表解决办法

2021-09-06 18:03:24  阅读:193  来源: 互联网

标签:解决办法 information ## 锁表 innodb mysql id schema


无法修改mysql表结构问题

#报错	ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

在mysql5.5之后,information_schema数据库加了三个关于锁的表

     innodb_trx ## 当前运行的所有事务

     innodb_locks ## 当前出现的锁
	
     innodb_lock_waits ## 锁等待的对应关系

排查思路

1、 查看是否有正在使用表的事务,发现并没有正在使用的事务
mysql> show full processlist;
2、 查看线程id,根据时间判断是否存在长时间未提交的事务,导致无法修改表数据
mysql> SELECT * FROM information_schema.innodb_trx \G;
image
发现有一个线程从11点开始就一直在连接
mysql> SELECT * FROM information_schema.processlist where id=23957085;
查看id试哪里连过来的请求,
image

找到这里已经知道是哪个机器在连接库操作表了,后续登录机器找到原因是遗弃的定时任务导致问题出现。
kill掉另一台主机的定时任务,重修修改表成功。定时任务不使用后要记得取消。

标签:解决办法,information,##,锁表,innodb,mysql,id,schema
来源: https://www.cnblogs.com/wobenwuxin/p/15234901.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有