MySQL 死锁日志分析
- ------------------------
- LATEST DETECTED DEADLOCK
- ------------------------
- 140824 1:01:24
- *** (1) TRANSACTION:
- TRANSACTION 110E, ACTIVE 73 sec starting index read ## 事务ID=110E,活跃了73s
- mysql tables in use 1, locked 1
- LOCK WAIT 3 lock struct(s), heap size 376, 2 row lock(s) ## 有2个行锁
- MySQL thread id 1, OS thread handle 0x7f55ea639700, query id 81 localhost root updating ## 该事务的线程ID=1
- delete from t1 where a=1 ## 这是当前事务执行的SQL
- *** (1) WAITING FOR THIS LOCK TO BE GRANTED: ## 上面SQL等待的锁信息
- RECORD LOCKS space id 12 page no 3 n bits 80 index `PRIMARY` of table `test`.`t1` trx id 110E lock_mode X locks rec but not gap waiting
- Record lock, heap no 2 PHYSICAL RECORD: n_fields 4; compact format; info bits 32 ## 等待在主键上的page num=3上有加一个X锁(not gap waiting),锁80 bits
- 0: len 4; hex 80000001; asc ;;
- 1: len 6; hex 00000000110c; asc ;;
- 2: len 7; hex 0d000002350084; asc 5 ;;
- 3: len 4; hex 80000001; asc ;;
- *** (2) TRANSACTION:
- TRANSACTION 110C, ACTIVE 1716 sec starting index read, thread declared inside InnoDB 500 ## 事务ID=110C,活跃了1716s
- mysql tables in use 1, locked 1
- 3 lock struct(s), heap size 376, 2 row lock(s), undo log entries 1 ## 3个锁,2个行锁,1个undo log
- MySQL thread id 2, OS thread handle 0x7f563c05e700, query id 82 localhost root updating ## 该事务的线程ID=2
- delete from t1 where a=3 ## 这是当前事务执行的SQL
- *** (2) HOLDS THE LOCK(S): ## 这个事务持有的锁信息
- RECORD LOCKS space id 12 page no 3 n bits 80 index `PRIMARY` of table `test`.`t1` trx id 110C lock_mode X locks rec but not gap
- Record lock, heap no 2 PHYSICAL RECORD: n_fields 4; compact format; info bits 32 ## 在主键上的page num=3上已持有一个X锁(not gap),锁80 bits
- 0: len 4; hex 80000001; asc ;;
- 1: len 6; hex 00000000110c; asc ;;
- 2: len 7; hex 0d000002350084; asc 5 ;;
- 3: len 4; hex 80000001; asc ;;
- *** (2) WAITING FOR THIS LOCK TO BE GRANTED: ## 同时这个事务还等待的锁信息
- RECORD LOCKS space id 12 page no 3 n bits 80 index `PRIMARY` of table `test`.`t1` trx id 110C lock_mode X locks rec but not gap waiting
- Record lock, heap no 3 PHYSICAL RECORD: n_fields 4; compact format; info bits 0 ## 同样等待在主键上的page num=3上有加一个X锁(not gap waiting),锁80 bits
- 0: len 4; hex 80000003; asc ;;
- 1: len 6; hex 000000000f71; asc q;;
- 2: len 7; hex ed0000022f0090; asc / ;;
- 3: len 4; hex 80000003; asc ;;
- *** WE ROLL BACK TRANSACTION (1) ## 这里选择回滚了事务110E。
- 也就是说,这个死锁使用事务110E中的SQL没有执行,回滚了:
- delete from t1 where a=1
- 而事务110C中的SQL是正常被执行的:
- delete from t1 where a=3
MySQL 死锁日志分析的更多相关文章
- MySQL 死锁问题分析
转载: MySQL 死锁问题分析 线上某服务时不时报出如下异常(大约一天二十多次):"Deadlock found when trying to get lock;". Oh, M ...
- MySQL死锁案例分析与解决方案
MySQL死锁案例分析与解决方案 现象: 数据库查询: SQL语句分析: mysql. 并发delete同一行记录,偶发死锁. delete from x_table where id=? ...
- MySQL死锁问题分析及解决方法实例详解(转)
出处:http://www.jb51.net/article/51508.htm MySQL死锁问题是很多程序员在项目开发中常遇到的问题,现就MySQL死锁及解决方法详解如下: 1.MySQL常用 ...
- 基于innodb_print_all_deadlocks从errorlog中解析MySQL死锁日志
本文是说明如何获取死锁日志记录的,不是说明如何解决死锁问题的. MySQL的死锁可以通过show engine innodb status;来查看,但是show engine innodb statu ...
- mysql死锁问题分析
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”. Oh, My God! 是死锁问题.尽管报错不多,对性能目前看来 ...
- mysql死锁问题分析(转)
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”. Oh, My God! 是死锁问题.尽管报错不多,对性能目前看来 ...
- mysql 慢日志分析
mysql 调优首先需要找到那些有问题的SQL语句. 怎么找到这些语句呢? mysql 提供了很方便的功能. 1.慢日志 在my.cnf 文件中,增加如下配置 log-error ...
- MySQL二进制日志分析-代码实现(FORMAT_DESCRIPTION_EVENT)
如前文概述,MySQL Binlog v3以前版本, 二进制日志文件的第一个事件是START_EVENT_V3, 从v4版本开始第一个事件为FORMAT_DESCRIPTION_EVENT(以下简称F ...
- MySQL死锁原因分析
行级锁有三种模式: innodb 行级锁 record-level lock大致有三种:record lock, gap lock and Next-KeyLocks. record lock 锁住 ...
随机推荐
- Oracle 常用命令大全
一.如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图.数据字典名称是大写的英文字符. 数 ...
- maven安装仓库中不存在的jar包
这里以ojdbc6.jar作为案例 首先我的ojdbc6.jar放在D盘的根目录D:\ojdbc6.jar 然后我们打开cmd命令窗口,运行命令:mvn install:install-file -D ...
- css+div网页设计(三)--与多种技术的混合应用
本篇博客将介绍css与多种技术的混合应用,javascript可以为我们的页面更加方便的交互,xml使数据存储跟方便,ajax的异步更新可以加快我们网页的载入速度. 1.css与javascript ...
- UVA 113 Power of Cryptography (数学)
Power of Cryptography Background Current work in cryptography involves (among other things) large p ...
- POJ 2516 Minimum Cost 最小费用流
题目: 给出n*kk的矩阵,格子a[i][k]表示第i个客户需要第k种货物a[i][k]单位. 给出m*kk的矩阵,格子b[j][k]表示第j个供应商可以提供第k种货物b[j][k]单位. 再给出k个 ...
- 碎片化时代:O2O服务成最大趋势
从86年第一封电子E-Mail发出至今28个年头,中国互联网从单一点对点,点对多,多对多,如今又回归到点对点,从最基础的Mail.黄页应用到基于互动的Search.Blog以及基于满足人类基本需求的沟 ...
- JavaScript之简易计算器
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- php中simplexml_load_string使用实例
先用一段代码重现一下问题 乍一看,结果很让人费解: 代码如下 复制代码 <?php $string = <<<EOF <data> <foo><b ...
- python基础:三元运算
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' els ...
- spring注解中使用properties文件
一.只读取单个 properties 文件 1.在 spring 的配置文件中,加入 引入命名空间: xmlns:util="http://www.springframework.org/s ...