解决mysql死锁错误 SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restart

在PHP调试时 提交事务触发异常后没有执行回滚导致mysql死锁,以致后续请求更新不了数据

 

问题出现环境: 
1、在同一事务内先后对同一条数据进行插入和更新操作; 
2、多台服务器操作同一数据库; 
3、瞬时出现高并发现象;

异常信息 

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restart

解决mysql死锁错误 SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restart_第1张图片

解决

1、通过下面语句查找到为提交事务的数据,kill此线程即可。

select * from information_schema.innodb_trx

解决mysql死锁错误 SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restart_第2张图片

trx_mysql_thread_id  即为该进程

kill 1544

 

 

你可能感兴趣的:(mysql)