mysql 命令 kill_Mysql新增删除数据失败,提示锁表

1.问题:执行删除脚本提示Lock wait timeout exceeded; try restarting transaction

执行语句:DELETE FROM t_test where id = '123';

2.原因显而易见,是锁表导致数据库不能使用。这时候建议重启数据库,毕竟重启大法还是比较好用的,但是部分同学肯定不愿意这样大动干戈的,那就见如下操作。

3.网络上提示找到锁的进程并干掉即可,我这里通过如下方式找到了锁的进程:

a.连接数据库:mysql -uroot -proot

b.查看当前数据库进程:show processlist;若直接找到慢的进程,直接kIll即可,若没找到继续往下找

c389a12b9b4773cace5fa0fe1097e92d.png

c.当前运行的所有事务:SELECT * FROM information_schema.INNODB_TRX;发现果然有一个事务一直在运行,红框标识出来了,可以看下事务的开始时间,判断是不是这个事务一直在运行。

6a011b738ec8f8980a8b3ddb55e4f42e.png

d.直接kill 3999。 我红框中标识的进程id。要在mysql的命名行运行kill命令。

2d5f641d6030c06c522a31299dca9b9c.png

e.最后记得退出:quit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值