MySql之锁表、锁行解决方案

  1. 查询正在使用的表,没有跑业务,一般情况下是锁表了
show open tables where in_use > 0 ;
  1. 查看进程,可以看到Command类型(Sleep为阻塞线程)
show processlist;
  1. kill事务,kill 进程Id
kill 8193583;
  1. 其他

下面语句往往需要PROCESS权限,且仅供查看使用。

  • 查看当前运行的所有事务
SELECT * FROM information_schema.INNODB_TRX;
  • 查看当前出现的锁
SELECT * FROM information_schema.INNODB_LOCKs;
  • 查看锁等待的对应关系
SELECT * FROM information_schema.INNODB_LOCK_waits;

你可能感兴趣的:(MySql,mysql,数据库,锁表)