以下五种方法可以快速定位全局锁的位置,仅供参考。

方法1:利用 metadata_locks 视图

此方法仅适用于 MySQL 5.7 以上版本,该版本 performance_schema 新增了 metadata_locks,如果上锁前启用了元数据锁的探针(默认是未启用的),可以比较容易的定位全局锁会话。

方法2:利用 events_statements_history 视图此方法适用于 MySQL 5.6 以上版本,启用 performance_schema.eventsstatements_history(5.6 默认未启用,5.7 默认启用),该表会 SQL 历史记录执行,如果请求太多,会自动清理早期的信息,有可能将上锁会话的信息清理掉。

方法3:利用 gdb 工具如果上述两种都用不了或者没来得及启用,可以尝试第三种方法。利用 gdb 找到所有线程信息,查看每个线程中持有全局锁对象,输出对应的会话 ID,为了便于快速定位,我写成了脚本形式。也可以使用 gdb 交互模式,但 attach mysql 进程后 mysql 会完全 hang 住,读请求也会受到影响,不建议使用交互模式。

方法4:show processlist

如果备份程序使用的特定用户执行备份,如果是 root 用户备份,那 time 值越大的是持锁会话的概率越大,如果业务也用 root 访问,重点是 state 和 info 为空的,这里有个小技巧可以快速筛选,筛选后尝试 kill 对应 ID,再观察是否还有 wait global read lock 状态的会话。

方法5:重启试试!

mysql查询的时候会涉及到锁_Mysql 查询 锁的问题?相关推荐

  1. mysql默认使用悲观锁_mysql乐观锁和悲观锁详解

    mysql乐观锁和悲观锁详解 相信很多朋友在面试的时候,都会被问到乐观锁和悲观锁的问题,如果不清楚其概念和用法的情况下,相信很多朋友都会感觉很懵逼,那么面试的结果也就不言而喻了. 那么乐观锁和悲观锁到 ...

  2. mysql mdl 锁_MySQL MDL锁

    MDL全称为metadata lock,即元数据锁.MDL锁主要作用是维护表元数据的数据一致性,在表上有活动事务(显式或隐式)的时候,不可以对元数据进行写入操作.因此从MySQL5.5版本开始引入了M ...

  3. mysql全局读写怎么锁_MySQL全局锁和表锁

    最近正好在看操作系统中关于线程,锁的部分,也可以学习一下数据库种的锁. MySQL的锁分为全局锁,表级锁,行锁三类. 全局锁 名思义,全局锁就是对整个数据库实例加锁.MySQL提供了一个加全局读锁的方 ...

  4. mysql 全局锁_Mysql全局锁和表级锁

    以前对Mysql的锁的认识,只了解表锁和行锁,其实Mysql的锁的种类还是不少的,有全局锁,表级锁,行级锁,还有元数据锁,间隙锁,临界锁. 一 全局锁 Mysql的全局锁是对整个实例加锁,加锁之后,数 ...

  5. mysql实现悲观锁_mysql 悲观锁详解

    悲观锁指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态.悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层 ...

  6. mysql实现悲观锁_mysql悲观锁怎么实现?

    mysql悲观锁的方法:1.首先利用[select ... for update]加锁,操作完成后使用commit来释放锁:然后innodb引擎来默认行级锁:最后查不到数据时,则不锁表即可. mysq ...

  7. mysql如何使用乐观锁_mysql 乐观锁和悲观锁

    数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性. 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的 ...

  8. mysql测试表格的年龄的语句是_MySQL查询语句练习题

    Sutdent表的定义 Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 ...

  9. mysql测试表格的年龄的语句是_MySQL查询语句练习题,测试基本够用了

    Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性 ...

  10. mysql innodb默认的锁_Mysql InnoDB锁

    MySQL 不同引擎的锁机制: MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁 InnoD ...

最新文章

  1. input输入系统中是如何实现按键重复
  2. 重磅!6.7亿美元!F5喜提开源服务器Nginx
  3. openssl 生成证书_使用证书和私钥导出P12格式个人证书!
  4. (转)关于BigDecimal 转化字符串toPlainString()和toString()的区别
  5. python数据结构教程_python入门基础教程随笔1-python数据结构-列表
  6. HDU 5701:中位数计数
  7. 单行溢出隐藏没生效_至今没搞懂,为什么这个缸这么火?
  8. wordpress and theme
  9. AutoCAD2020快捷键
  10. 视频数据集UCF101的处理与加载(用PyTorch实现)
  11. LU分解法python程序代码
  12. 110kV变电站电气一次系统设计
  13. 免费在线http代理
  14. 计算机网络ospf实验报告,计算机网络ospf实验报告.pdf
  15. 12pm 究竟是中午还是午夜
  16. 三类完整性规则mysql下规则实现短语_关系数据库有三类完整性规则,分别是参照完整性规则、用户自定义的完整性和()规则。...
  17. 如何实现一个小程序版本的老虎机
  18. IBM小型机远程管理,HMC连接到P5
  19. CS224d lecture 6札记
  20. java程序设计教程第三版雍俊海

热门文章

  1. Mongodb 查询时间类型
  2. 剑指Offer--青蛙跳台阶引发的一系列问题
  3. 在树莓派是安装并配置NTP服务
  4. [No0000112]ComputerInfo,C#获取计算机信息(cpu使用率,内存占用率,硬盘,网络信息)...
  5. php调用API支付接口(转自刘68)
  6. Callable与Future的介绍
  7. javascript setTimeout 和 setInterval 区别
  8. 前端之模拟数据 - HackerVirus - 博客园
  9. 【vscode】编译java时报错乱码
  10. webpack --- html-webpack-plugin