有时代码的不合理操作会导致,事务不能提交,mysql表上执行任何的操作,都在等待,查询也好,修改也好,所有的进程,都会卡在那里,然后你会慌,误以为电脑怎么卡了,这个时候呢,要排查问题。

1,首先,查询当前的系统进程

show processlist;

mysql运行中的事务导致锁表

如果有等待的进程,状态就会显示在等待,同时info会显示执行的sql

2,第一步只是确认你的操作确实被锁了,第二步就是查询事务了

SELECT * from information_schema.innodb_trx;

这是表里就会有一条trx_state为running的记录,然后记下trx_mysql_thread_id这个字段的值,这个值是进程id

3,干掉那个进程id就可以了

在mysql中执行:kill  [trx_mysql_thread_id] 即可。

相关文章:

  • 2021-09-13
  • 2022-12-23
  • 2022-02-16
  • 2021-08-05
  • 2021-10-04
  • 2022-02-26
  • 2021-12-28
猜你喜欢
  • 2022-12-23
  • 2021-12-07
  • 2019-05-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案