title: mysql中的锁表语句查看方法汇总
date: 2022-04-28 16:48:51
tags: MySQL
categories: MySQL
toc: true
sidebar: true
mysql> show status like 'Table%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| Table_locks_immediate | 105 |
| Table_locks_waited | 3 |
+----------------------------+----------+
Table_locks_immediate 26839653
Table_locks_waited 0
Table_open_cache_hits 3
Table_open_cache_misses 2
Table_open_cache_overflows 2
Table_locks_immediate 指的是能够立即获得表级锁的次数
Table_locks_waited 指的是不能立即获取表级锁而需要等待的次数
Table_open_cache_hits 表缓存被命中的次数
Table_open_cache_misses 表缓存未被命中的次数
Table_open_cache_overflows 就是上面说的淘汰的instance(table cache)的数量
查看正在被锁定的的表
show OPEN TABLES where In_use > 0;
怎么查找mysql中的锁表语句
show processlist;
与select * from information_schema.processlist效果相同
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating 或者 sending data。
show processlist 是显示用户正在运行的线程,需要注意的是,除了 root 用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS 权限
-- 查看那些表锁到了
show OPEN TABLES where In_use > 0;
-- 查看进程号
show processlist;
--删除进程
kill 1085850;
select id, db, user, host, command, time, state, info
from information_schema.processlist
where command != 'Sleep'
order by time desc
其次查看CAT,但是CAT中除了Heartbeat报表GC异常以外,只有一条一分钟的SQL,并没有其他超时SQL
然后查看Grafana可以看到飙升时间在7点18分
在这个时间段查询PMM
没有异常,但是在其他服务中查询到有长达10分钟SQL未返回。
运行show full processlist命令查看是否有线程递增的情况
查询发现每一秒都有一个SQL在查询,经过代码分析,是某个接口前端轮询调用每秒都在进行查询导致的,没想到一个查询频率超高的SQL能导致CPU超高
{% raw %}
<div style="position: relative; width: 100%; height: 0; padding-bottom: 75%;">
<iframe src="//player.bilibili.com/player.html?aid=90978812&cid=155358422&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; height: 100%; Left: 0; top: 0;" ></iframe></div>
{% endraw %}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。