0
点赞
收藏
分享

微信扫一扫

线上问题排查:数据库中的一行不能被update

梦为马 2022-10-27 阅读 73


今天数据遇到mysql只有一行不能update。
怀疑表被锁了,使用

show open tables where in_use>0;

线上问题排查:数据库中的一行不能被update_数据库


没有发现锁的痕迹。

不对,应该是update执行的时候,查看是否被锁住。重新执行update,当update还在执行的,查看是否被锁。执行update操作

线上问题排查:数据库中的一行不能被update_mysql_02

另外的窗口查看是否有锁的现象

select * from

线上问题排查:数据库中的一行不能被update_mysql_03

的确被锁住了。

select * from information_schema.innodb_trx where  trx_id=10788130

就能查看到事务的详细信息。

怎么解决这个问题呢?
使用mysql -uxxx -p 命令登录到数据库,进行回滚和提交就可以。
commit;
或者
rollback;(未真正执行)

线上问题排查:数据库中的一行不能被update_数据_04

具体是怎么回事呢?因为MySQL 5.5 InnoDB 锁等待,具体学习文章:
​​​https://dbarobin.com/2015/01/27/innodb-lock-wait-under-mysql-5.5/​​


举报

相关推荐

0 条评论