视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL查看是否锁表
2020-11-09 08:37:20 责编:小采
文档
 可直接在mysql命令行执行:show engine innodb status\G;

查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist;

推荐课程:MySQL教程。

mysql> show status like 'Table%';

+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| Table_locks_immediate | 105 |
| Table_locks_waited | 3 |
+----------------------------+----------+

Table_locks_immediate 指的是能够立即获得表级锁的次数

Table_locks_waited 指的是不能立即获取表级锁而需要等待的次数

show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态

在my.ini配置文件的[mysqld]选项下增加:

slow_query_log=TRUE

slow_query_log_file=c:/slow_query_log.txt

long_query_time=3

添加完成之后记得一定要重启mysql服务才能生效记录输出。微笑最后在MySQL客户端中输入命令:

show variables like '%quer%'; 核查一哈是否Ok

开启mysql慢查询日志

查看配置:

//查看慢查询时间
show variables like "long_query_time";默认10s
//查看慢查询配置情况
show status like "%slow_queries%";
//查看慢查询日志路径
 show variables like "%slow%";
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志

言归正传,回到我们问题的出发点上Mysql 查询表死锁 和结束死锁的表步骤

1、查询是否锁表 show OPEN TABLES where In_use > 0;

2、查询进程

show processlist 查询到相对应的进程===然后 kill id

补充:

查看正在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

查看等待锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

下载本文
显示全文
专题