欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql事务锁手动释放

程序员文章站 2024-01-14 17:28:10
...

1:查看数据库当前的进程,这个命令可以列出当前库所有的线程

mysql> show  processlist;

2:查看当前的事物情况

        2-1:查询当前数据库运行的所有事物

mysql> SELECT * FROM information_schema.INNODB_TRX;

        2-2:查询当前数据库出现的锁

mysql> SELECT * FROM information_schema.INNODB_LOCKs;

        2-3:查询锁等待的对应关系

mysql> SELECT * FROM information_schema.INNODB_LOCK_waits;

3:连表查询出所有需要杀掉的进程


mysql> 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='test';

注:kill掉对应的进程之后,再次查询事物表。为空就可以正常执行了。