MySQL 排查锁表常用SQL
文章目录
- MySQL 排查锁表常用Sql
- 锁信息
- 查询是否被锁的表
- 查询innodb事务获取的锁
- 查询会话
- 当前会话列表
- 基于IP过滤
- 基于数据库过滤
- 会话详情
- 查询会话执行过的sql
- 杀死会话
- 杀死指定会话
- 生成杀死某一IP下会话SQL
MySQL 排查锁表常用Sql
锁信息
查询是否被锁的表
show OPEN TABLES where In_use > 0;
查询innodb事务获取的锁
select * from information_schema.innodb_trx;
SELECT * FROM `performance_schema`.`data_locks`;
查询会话
当前会话列表
show PROCESSLIST;
基于IP过滤
select * from information_schema.processlist where HOST like "101.86.16.1%"
基于数据库过滤
select * from information_schema.processlist where DB="test";
会话详情
SELECT * FROM sys.session WHERE CONN_ID = 62200
查询会话执行过的sql
SELECT @dt_ts:=UNIX_TIMESTAMP(NOW());
SELECT
@dt_timer:=MAX(SH.TIMER_START)
FROM performance_schema.threads AS T1
INNER JOIN performance_schema.events_statements_history AS SH
ON T1.`THREAD_ID`=SH.`THREAD_ID`
WHERE T1.PROCESSLIST_ID=CONNECTION_ID();SELECT
SH.CURRENT_SCHEMA AS database_name,
REPLACE(REPLACE(REPLACE(SH.`SQL_TEXT`,'
',' '),'
',' '),' ',' ') AS executed_sql,
FROM_UNIXTIME(@dt_ts-CAST((@dt_timer-SH.TIMER_START)/1000000000000 AS SIGNED)) AS start_time,
FROM_UNIXTIME(@dt_ts-CAST((@dt_timer+SH.TIMER_END)/1000000000000 AS SIGNED)) AS end_time,
(SH.TIMER_END-SH.TIMER_START)/1000000000000 AS used_seconds,
SH.TIMER_WAIT/1000000000000 AS wait_seconds,
SH.LOCK_TIME/1000000000000 AS lock_seconds,
SH.ROWS_AFFECTED AS affected_rows,
SH.ROWS_SENT AS send_rows
FROM performance_schema.threads AS T1
INNER JOIN performance_schema.events_statements_history AS SH
ON T1.`THREAD_ID`=SH.`THREAD_ID`
WHERE T1.PROCESSLIST_ID= [会话id]
AND SH.TIMER_START<@dt_timer
ORDER BY SH.TIMER_START ASC;
杀死会话
杀死指定会话
kill 1000;
生成杀死某一IP下会话SQL
select concat("kill ", ID, ";") as command
from information_schema.processlistwhere HOST like "127.0.0.1%"
select concat("kill ", ID, ";") as command
from information_schema.processlistwhere HOST like "101.86.16.1%"
MySQL 排查锁表常用SQL相关推荐
- Oracle/Mysql查看锁表与解锁表
Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...
- MySQL行锁 表锁理解
MySQL InnoDB 锁表与锁行 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会 ...
- MySQL之锁-表级锁
目录 MySQL之锁-表级锁 1.表级锁分类 2.表锁 2.1分类 2.2表共享读锁 2.2.1特点 2.2.2加读锁 2.3表独占写锁 2.3.1特点 2.3.2加写锁 2.2.3释放锁 3.元数据 ...
- pg表常用sql语句
大家好呀,我是柚子,这篇主要介绍了pg表常用sql语句~o( ̄▽ ̄)ブ 文章目录 举例 一.创建表 二.删除表 三.增加表字段 四.修改表字段名称和类型长度 五.删除表字段 六.修改字段的备注 七.建 ...
- Mysql 数据库锁表的原因和解决方法
Mysql 数据库锁表的原因和解决方法 参考文章: (1)Mysql 数据库锁表的原因和解决方法 (2)https://www.cnblogs.com/xinruyi/p/11108795.html ...
- 查看锁表进程SQL语句
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao ...
- MySQL - 行锁 表锁 乐观锁 悲观锁 读锁 写锁
MySQL - 行锁 表锁 乐观锁 悲观锁 读锁 写锁 锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足.在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(I ...
- ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL、DBA必备)
ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 文章目录 ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 前 ...
- MYSQL的修改表结构SQL语句
MYSQL的修改表结构SQL语句: -- 查看创表语句 SHOW CREATE TABLE t_login; -- 查看表结构 desc t_login1; -- 增加列 ALTER TABLE t_ ...
最新文章
- 常用Linux命令总结
- 分享一下python入门知识点-输入与输出教程,不喜勿喷
- 让Linux系统开机速度更快的方法
- 抓包工具 - Fiddler(详细介绍)
- Golang--defer的mi魂汤
- linux下无权限安装opencv3.4.6
- linux子网掩码和ip计算,子网掩码的计算 - winglok的个人页面 - OSCHINA - 中文开源技术交流社区...
- 十行代码实现高仿Promise
- SQL注入攻击原理与几种防御方式
- mysql 主要有哪些函数_MySql常用函数全部汇总
- java橙色风格小说精品屋小说网站源码
- 3d打印切片软件 linux,3D打印切片软件汇总分类
- (百度贴吧发帖)html5,百度贴吧怎么发帖子
- 各学科门类研究生专业深度分析
- Tensorflow中的数据对象Dataset.shuffle()、repeat()、batch() 等用法
- python是微软开发的吗_Python是如何在微软发展壮大的
- 不要乱用position:fixed
- html表单点击变色如何实现,表单特效 鼠标经过或选中input变色
- 2021年网络安全十大发展趋势预测
- 处理得怎么样填空词语_咋办得什么填词语