文章目录

  • 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相关推荐

  1. Oracle/Mysql查看锁表与解锁表

    Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...

  2. MySQL行锁 表锁理解

    MySQL InnoDB 锁表与锁行 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会 ...

  3. 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.元数据 ...

  4. pg表常用sql语句

    大家好呀,我是柚子,这篇主要介绍了pg表常用sql语句~o( ̄▽ ̄)ブ 文章目录 举例 一.创建表 二.删除表 三.增加表字段 四.修改表字段名称和类型长度 五.删除表字段 六.修改字段的备注 七.建 ...

  5. Mysql 数据库锁表的原因和解决方法

    Mysql 数据库锁表的原因和解决方法 参考文章: (1)Mysql 数据库锁表的原因和解决方法 (2)https://www.cnblogs.com/xinruyi/p/11108795.html ...

  6. 查看锁表进程SQL语句

    查看锁表进程SQL语句1: select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao ...

  7. MySQL - 行锁 表锁 乐观锁 悲观锁 读锁 写锁

    MySQL - 行锁 表锁 乐观锁 悲观锁 读锁 写锁 锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足.在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(I ...

  8. ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL、DBA必备)

    ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 文章目录 ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL.DBA必备) 前 ...

  9. MYSQL的修改表结构SQL语句

    MYSQL的修改表结构SQL语句: -- 查看创表语句 SHOW CREATE TABLE t_login; -- 查看表结构 desc t_login1; -- 增加列 ALTER TABLE t_ ...

最新文章

  1. 常用Linux命令总结
  2. 分享一下python入门知识点-输入与输出教程,不喜勿喷
  3. 让Linux系统开机速度更快的方法
  4. 抓包工具 - Fiddler(详细介绍)
  5. Golang--defer的mi魂汤
  6. linux下无权限安装opencv3.4.6
  7. linux子网掩码和ip计算,子网掩码的计算 - winglok的个人页面 - OSCHINA - 中文开源技术交流社区...
  8. 十行代码实现高仿Promise
  9. SQL注入攻击原理与几种防御方式
  10. mysql 主要有哪些函数_MySql常用函数全部汇总
  11. java橙色风格小说精品屋小说网站源码
  12. 3d打印切片软件 linux,3D打印切片软件汇总分类
  13. (百度贴吧发帖)html5,百度贴吧怎么发帖子
  14. 各学科门类研究生专业深度分析
  15. Tensorflow中的数据对象Dataset.shuffle()、repeat()、batch() 等用法
  16. python是微软开发的吗_Python是如何在微软发展壮大的
  17. 不要乱用position:fixed
  18. html表单点击变色如何实现,表单特效 鼠标经过或选中input变色
  19. 2021年网络安全十大发展趋势预测
  20. 处理得怎么样填空词语_咋办得什么填词语

热门文章

  1. matlab 识别曲线
  2. 并不对劲的片手剑使用说明(本博客公告)
  3. Excel 2010 VBA 入门 038 按颜色查找单元格
  4. 达梦数据库导出sql
  5. Vue中v-for循环指定次数
  6. 苍蓝誓约服务器维护什么时候结束,《苍蓝誓约》2月13日09:00停服维护公告
  7. Nginx是什么,是干嘛的
  8. sqlserver 18456
  9. 10亿行C ++代码使用3万元/个的电脑处理器AMD Threadripper 3990X:在64核CPU处理器256GB内存电脑上编译需要多长时间?
  10. Datastage 入门示例