有时代码的不合理操作会导致,事务不能提交,mysql表上执行任何的操作,都在等待,查询也好,修改也好,所有的进程,都会卡在那里,然后你会慌,误以为电脑怎么卡了,这个时候呢,要排查问题。
首先,查询当前的系统进程
show processlist;
如果有等待的进程,状态就会显示在等待,同时info会显示执行的sql
第一步只是确认你的操作确实被锁了,第二步就是查询事务了
SELECT * from information_schema.innodb_trx;
这是表里就会有一条trx_state为running的记录,然后记下trx_mysql_thread_id这个字段的值,这个值是进程id
干掉那个进程id就可以了
在mysql中执行:kill [trx_mysql_thread_id] 即可。