我正在将一个数据插入到我的一个表中,并且我一直得到一个锁。
insert into inventory_files(id, pro_id) values(30,6569);
我得到以下错误。
Error Code: 1205. Lock wait timeout exceeded; try restarting transaction 51.004 sec
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
然后插入数据。
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;
我插入到其他表中没有任何问题。任何其他建议。
我也跑了。
SHOW ENGINE INNODB STATUS;
没有锁定的表。
‘'InnoDB','',’
2017-08-04 13:57:34 0x7f0c44461700 INNODB监视器每秒输出从最近29秒计算的平均值
后台线程
srv_master_thread循环: 93 srv_active、0 srv_shutdown、2985 srv_idle
srv_master_thread日志刷新和写入: 3076
信号量
操作系统等待数组信息:保留计数29
操作系统等待数组信息:信号计数29
RW-共享自旋0,轮次52,操作系统等待26
RW-excl旋转0,舍入0,操作系统等待0
RW-sx自旋0,舍入0,操作系统等待0
每次等待旋转轮次: 52.00 RW-共享、0.00 RW-excl、0.00 RW-sx
交易记录
Trx id计数器2147575956\n清除trx的n:o < 2147575378撤消n:o <0状态:正在运行但空闲
历史列表长度91
每个会话的事务列表:
-事务421165916588792,未启动
0个锁结构,堆大小1136,0个行锁
-事务421165916587872,未启动
0个锁结构,堆大小1136,0个行锁
-事务2147575922,活动104秒
6个锁结构,堆大小1136,52个行锁,撤消日志条目5
查询线程id 32,操作系统线程句柄139690660574976,查询id 43020本地主机127.0.0.1 my_web_user
-事务2147575860,活动211秒
6个锁结构,堆大小1136,52个行锁,撤消日志条目5个MySQL线程id 30,OS线程句柄139690661377792,查询id 40076本地主机127.0.0.1 my_web_user
-事务2147575771,活动413秒6锁结构,堆大小1136,52行锁,撤消日志条目5 MySQL线程id 23,OS线程句柄139690660976384,查询id 35541 localhost 127.0.0.1 my_web_user
-事务2147575640,活动540秒6锁结构,堆大小1136,52行锁,撤消日志条目28 MySQL线程id 16,OS线程句柄139690661177088,查询id 29555 localhost 127.0.0.1 my_web_user
-事务2147575372,活动990秒6锁结构,堆大小1136,52行锁,撤消日志条目28 MySQL线程id 11,OS线程句柄139690661578496,查询id 4137 localhost 127.0.0.1 my_web_user
Trx read view将看不到id为>= 2147575373的trx,看到的是< 2147575373文件I/O I/O线程0状态:正在等待完成的aio请求(插入缓冲区线程)我假设my_web_user正在锁定该行。如何解锁该行?
发布于 2017-11-07 00:19:38
出现此错误的主要原因是当现有进程正在运行时,这会阻止在相同的表上执行新进程。
试一试
Show full processlist; kill x;
将x替换为您认为导致问题的进程号
发布于 2019-07-04 14:03:25
显示完整的进程列表;终止x;
在使用工作台中的长查询时为我工作;
https://stackoverflow.com/questions/45511925
复制相似问题