Tag Archives: deadlock

有效收集 MySQL 的死锁信息

By | 2019-06-18

简单介绍 收集 MySQL 的死锁信息有什么好处? 可见的包含以下好处: 1. 死锁发生的频率; 2. 哪些库的哪些表发生死锁; 3. 事务执行了多久, 哪个事务被回退; 4. 方便排错, 可以和程序的日志相对应; MySQL 提供了两种方式可以用来查看死锁信息, 这两种方式受 innodb_print_all_deadlocks 参数的影响, 如果开启死锁信息会记录到 MySQL 的 error 日志中, 如果关闭可以使用 SHOW ENGINE INNODB STATUS 语句来查看死锁信息, 第一种方式适合全量收集, 第二种方式适合增量收集, 其中最新的死锁信息会覆盖掉以前的信息. 实际上这两种方式都不利于死锁信息的统一搜集, 都需要管理员做额外的汇总操作. 我们提供了 mysql-deadlock-check 工具, 以第二种方式统一收集死锁信息进行汇总, 更多信息参考 pt-deadlock-logger. 工具说明 mysql-deadlock-check 主要用来收集线上 MySQL 实例的死锁信息, 实例存在死锁信息则对其收集, 解析并入库以便于以后的统计分析. 如下所示: +—–+ | DB1 | ———-+… Read More »