mysql deadlock found when trying to get lock 问题排查

1 获 取锁等待情况

可以通过检查 table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:

mysql> show status like 'Table%';

+----------------------------+----------+

| Variable_name | Value |

+----------------------------+----------+

| Table_locks_immediate | 105 |

| Table_locks_waited | 3 |

+----------------------------+----------+

2 rows in set (0.00 sec)

2 可以通过检查 Innodb_row_lock状态变量来分析系统上的行锁的争夺情况:

mysql> show status like 'innodb_row_lock%';

+----------------------------------------+----------+

| Variable_name | Value |

+----------------------------------------+----------+

| Innodb_row_lock_current_waits | 0 |

| Innodb_row_lock_time | 2001 |

| Innodb_row_lock_time_avg | 667 |

| Innodb_row_lock_time_max | 845 |

| Innodb_row_lock_waits | 3 |

+----------------------------------------+----------+

5 rows in set (0.00 sec)

3 设置监视器

另外,针对Innodb类型的表,如果 需要察看当前的锁等待情况,可以设置InnoDB Monitors,然后通过Show innodb status察看,设置的方式是:

CREATE TABLE innodb_monitor(a INT) ENGINE=INNODB;

监视器可以通过发出下列语句来被停止:

DROP TABLE innodb_monitor;

设置监视器后,在show innodb status(高版本使用:show engine innodb status)的显示内容中,会有详细的当前锁等待的信息,包括表名、锁类型、锁定记录的情况等等,便于进行进一步的分析和问题的确定。打开监视器以后,默 认情况下每15秒会向日志中记录监控的内容,如果长时间打开会导致.err文件变得非常的巨大,所以我们在确认问题原因之后,要记得删除监控表以关闭监视 器。或者通过使用--console选项来启动服务器以关闭写日志文件。

4 查看自己占用的连接

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。

show processlist;只 列出前100条,如果想全列出请使用show full processlist;

mysql> show processlist;

mysql deadlock found_mysql deadlock found when trying to get lock 问题排查相关推荐

  1. mysql deadlock found when trying to get lock 问题排查

    mysql deadlock found when trying to get lock 问题排查 1 获 取锁等待情况 可以通过检查 table_locks_waited和table_locks_i ...

  2. Deadlock 和 Deadlock Prevention

    一.Thread Deadlock A deadlock is when two or more threads are blocked waiting to obtain locks that so ...

  3. Mysql报错Fatal error:Can't open and lock privilege tables

     Mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 安装mysql后 ...

  4. mysql deadlock found_mysql死锁 Deadlock found when trying to get lock; try restarting transaction

    研究了一下mysql的死锁,记录如下. 比如有2个事务,执行的sql分别如下: 这里用 #N 标识sql语句的执行顺序,下面开启两个mysql客户端连接,其中表的id为主键. 事务1 START TR ...

  5. mysql deadlock6_MYSQL:1213 Deadlock问题排查历程

    mark下自己近期在电商开发中遇到的一个问题-数据库死锁及其排查过程. 先抛一个业务报错日志做为这次梳理的开始 上图是我接收到的错误报警,SQLSTATE[40001]: Serialization ...

  6. mysql deadlock found_MySQLTransactionRollbackException: Deadlock found when trying to get lock

    代码: logger.info("第一步:获取参数..."); List codeDoList = adSspDataMapperDAO .selectListByKey(AppC ...

  7. mysql deadlock6_mysql死锁(deadlock)分析及解决

    问题1: 怎么会产生死锁那? 通过 show engine innodb status,捕获到了死锁详情 见下图: 注: 子订单表:channel_sub_order_0, 子订单号:suborder ...

  8. java deadlock oracle_APPARENT DEADLOCK!!! - C3P0连接池DeadLock机制分析

    1 问题 近期,刚上线不久的生产系统的数据库连接池 C3P0 (版本为0.9.5.2)突然报出 APPARENT DEADLOCK!!! 错误. 1.1 错误日志 错误日志如下. com.mchang ...

  9. oracle怎么deadlock,APPARENT DEADLOCK!!! 错误解决过程

    项目环境 数据库:oracle 中间件:WAS 2.  问题描述 2015.05.21(是个好日子),早上发现was后台报错如下: [15-5-21 7:31:01:171 CST] 00000027 ...

最新文章

  1. 使用Caffe进行手写数字识别执行流程解析
  2. Java高并发编程(三):Java内存模型
  3. [收藏] Opera鼠标手势命令
  4. ATL中的C++模板
  5. 一起来做个免登录资源导航小程序!
  6. Java NIO AIO编程
  7. STC15W408读取HX711称重数据串口发送
  8. mysql查字段的备注_Mysql 查看表注释或字段注释
  9. appstore 客户端技术
  10. [转]关于Win32 Console的计时器
  11. 计算机网络课程设计实验报告
  12. 微软 smtp 服务器,配置 SMTP 服务器
  13. android手机访问协议页面,易语言修改IE协议头留言手机版网页
  14. 细丝菲涅尔衍射MATLAB,工程光学系列之六: 菲涅尔衍射  matlab仿真
  15. 〖工具〗Ladon 9.1.1 CobaltStrike神龙插件发布
  16. 联想服务器万全T260G3系统,联想万全T260G3服务器电子教室更易管理
  17. 使用mybatisplus中的selectone方法,查询一条信息。报错
  18. IDEA 依赖自动导入,不用每次手动点击Load Maven Changes图标
  19. Windows 微信双开(批处理)
  20. 陈艾盐:《春燕》百集访谈节目第五十九集

热门文章

  1. 什么是保密资质?保密室建设有哪些要求?
  2. SqlSugar 插入emoji表情
  3. 华为十年,总结出的12条经验!徐是一级部门总监,华为副总裁,
  4. PROFIBUS DP 通讯距离
  5. BAT面试官教你校招-自我介绍如何准备
  6. matlab读csv文件问题
  7. 1+X 5G移动网络运维 - 第二篇
  8. 公用计算机打不开扫雷,扫雷纸牌等电脑自带游戏全都打不开,点击了啥反应没有...
  9. 浏览器是如何运作【前端必备】
  10. Error: couldn‘t connect to server 192.168.61.12:27017, connection attempt failed: SocketException: E