Mysql死锁解决

在删除某张表的数据时发生异常: Lock wait timeout exceeded; try restarting transaction。

step1
# 查看当前运行事务
select * from information_schema.innodb_trx;

发现有如下事务,可以拿到thread_id
Mysql死锁解决_第1张图片

step2
# 查看正在执行的进程 比对上面获取的thread_id
show full processlist ;
step3
# 获取需要杀掉的进程
SELECT concat('KILL ', id, ';')
FROM information_schema.processlist p
INNER JOIN information_schema.INNODB_TRX x ON p.id = x.trx_mysql_thread_id
WHERE db = 'wk_crm_single';
step4

执行kill thead_id 语句。

final

可以顺利的执行删除语句了。

你可能感兴趣的:(Database,mysql,sql)