mysql 插入数据锁等待超时报错:Lock wait timeout exceeded; try restarting transaction

报错信息

Lock wait timeout exceeded; try restarting transaction

锁等待超时 Lock wait timeout exceeded; try restarting transaction,是当前事务在等待其它事务释放锁资源造成的

解决办法

1、数据库中执行如下sql,查看当前数据库的线程情况:

powershell 复制代码
show full PROCESSLIST

2、再到 INNODB_TRX 事务表中查看,看 trx_mysql_thread_id 是否在 show full processlist 里面的 sleep 线程中(

INNODB_TRX 表的 trx_mysql_thread_id 字段对应 show full processlist 中的Id);如果在,就说明这个 sleep 的线程事务一直没有 commit 或者 rollback,而是卡住了,需要我们手动删除。

powershell 复制代码
select * from information_schema.innodb_trx


如上图,trx_mysql_thread_id 为 10557347

powershell 复制代码
kill  10557347

kill 10557347

相关推荐
DFT计算杂谈3 小时前
VASP+PHONOPY+pypolymlpj计算不同温度下声子谱,附批处理脚本
java·前端·数据库·人工智能·python
数据知道3 小时前
PostgreSQL核心原理:为什么数据库偶尔会卡顿?
数据库·postgresql
Nandeska3 小时前
14、MySQL基于GTID的数据同步
数据库·mysql
Mr_Xuhhh3 小时前
MySQL表的内连接与外连接详解
java·前端·数据库
kyle-fang4 小时前
阿里云服务器部署MySQL
服务器·mysql·阿里云
l1t4 小时前
DeepSeek辅助总结postgresql wiki提供的数独求解器
数据库·sql·postgresql
appearappear4 小时前
大数据量处理
数据库
万行4 小时前
SQL进阶&索引篇
开发语言·数据库·人工智能·sql
我是黄骨鱼4 小时前
【零基础学数据库|第二篇】MySql启动!!!
数据库·mysql
陌上丨4 小时前
什么是Redis的大Key和热Key?项目中一般是怎么解决的?
数据库·redis·缓存