Mysql数据库系列Mysql锁表信息查看与解决

Posted 善良勤劳勇敢而又聪明的老杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库系列Mysql锁表信息查看与解决相关的知识,希望对你有一定的参考价值。

解除mysql数据库锁表状态的两种方法

第一种:

1、查询是否锁表
show open tables where in_use > 0;

2、查询进程
show processlist;

show full processlist;

3、杀死进程id
kill 进程id

第二种:

1、查看当前的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

2、查看当前锁定的事务(mysql 8.0版本已经找不到这些表了)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 

3、查看当前等待锁的事务(mysql 8.0版本已经找不到这些表了)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 

4、杀死进程id(就是命令中的trx_mysql_thread_id字段值)
kill 进程id

注意事项:

        1、这些操作必须要有操作权限,才可以执行,否则会有权限拦截

        2、使用云服务器的,需要注意这些操作可能不生效。因为云数据库,可能使用的分片分区,这个命令执行必须要结合数据库说明文档,或是客户协助才能完成

以上是关于Mysql数据库系列Mysql锁表信息查看与解决的主要内容,如果未能解决你的问题,请参考以下文章

Mysql数据库系列Mysql锁表信息查看与解决

MYSQL完美解决生产环境改表结构锁表问题

mysql锁表问题分析以及解决方法-简书

mysql lock 锁表

MySQL锁表和解锁操作

数据库系列MySql中的select的锁表范围