MySQL查看锁表场景处理

无缘无故DB库中某张表不能操作了,请求响应超时、上游服务熔断,执行日志中某个SQL,才发现……–……表锁了!!!

查看表状态

1
2
3
4
5
6
7
8
9
10
mysql> show status like 'Table%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| Table_locks_immediate | 105 |
| Table_locks_waited | 3 |
+----------------------------+----------+

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

查看正在被锁定的的表

1
show OPEN TABLES where In_use > 0;

杀进程

1
2
3
4
-- 查看进程号
show processlist;
--删除进程
kill 1085850;

用navicate工具

评论