异常问题

原因分析

  1. 这个问题发生在开发环境,怀疑是提交事务时终止项目运行,没有提交该事务,造成死锁
  2. 调试该事务时时间太长,为什么说有这个原因呢,因为通过查找日志显示

The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.

问题排查

# 当前运行的所有事务
select * from information_schema.innodb_trx;
# 查看锁的持有和请求情况 MySQL8.0
select * from performance_schema.data_locks;
# 查看锁的等待情况 MySQL8.0
select * from performance_schema.data_lock_waits;
# 当前线程详情
show full processlist;
  1. 1.发现事务id176602一直在运行状态

  1. 锁的持有和请求情况



  1. kill 掉事务关联的mysql线程ID (trx_mysql_thread_id)
KILL 362

trx_mysql_thread_id = 0 无法Kill 接着排查

确认 trx_mysql_thread_id = 0 为XA(分布式)事务

  1. 执行回滚操作
#查看XA事务信息
xa recover;
#执行报错可能没有权限
GRANT XA_RECOVER_ADMIN ON *.* TO root@'%' ;

得到



回滚XA事务操作

# XA事务回滚命令的格式:
xa rollback 'left(data,gtrid_length)','substr(data,gtrid_length+1,bqual_length)', formatID;
#示列
SELECT left('55f3cdd8-4f45-49c8-bbca-2738fa5a1514:35',38);
SELECT substr('55f3cdd8-4f45-49c8-bbca-2738fa5a1514:35',39,1);
xa rollback '55f3cdd8-4f45-49c8-bbca-2738fa5a1514:3', '5',1;

🐬记一次MySQL执行修改语句超时问题的更多相关文章

  1. 不登录到MySQL执行SQL语句

    mysql -e 不登录到MySQL执行SQL语句 mysql -u root -p -e "SHOW DATABASES"

  2. mysql执行SQL语句时报错:[Err] 3 - Error writing file '/tmp/MYP0G1B8' (Errcode: 28 - No space left on device)

    问题描述: 今天一同事在mysql中执行SQL语句的时候,报了/tmp空间不足的问题,报错如下: [SQL] SELECT f.prov as 字段1, MAX( CASE f.flag_name W ...

  3. mysql执行update语句受影响行数是0

    mybatis连接mysql数据库,发现同一个update执行多次,返回的int值都是1. 我记得同样的update再次执行时 受影响行数是0. 后来发现,我之前一直用的SQLyog是这样子的. 原来 ...

  4. mysql执行sql语句过程

    开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...

  5. 使用Mysql执行SQL语句基础操作

    SQL:  又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...

  6. mysql 执行 sql 语句提示Parameter '@XXX' must be defined

    执行 sql 语句 MySqlException: Parameter '@maxNo' must be defined. 执行 sql 中含有自定义变量 @maxNo,抛出异常 解决方法: 连接字符 ...

  7. PHP获取MySQL执行sql语句的查询时间

    //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0 ...

  8. mysql 执行sql语句执行问题

    SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言,SQL语言是脚本语言,直接运行在数据库上.同时,SQL语句与数据在数据库上的存储方式无关,只是不同的数据库对于同一条SQL ...

  9. (转载)PHP怎么获取MySQL执行sql语句的查询时间

    (转载自CSDN) 方法一: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function ...

  10. Mysql修改语句的运行流程

    执行修改语句前要先连接数据库,这是连接器的工作. 接下来,分析器会通过词法和语法解析知道这是一条更新语句.优化器决定要使用 ID 这个索引.然后,执行器负责具体执行,找到这一行,然后更新. Mysql ...

随机推荐

  1. OpenHarmony 3.2 Beta1版本正式发布

    5 月 31 日,开放原子开源基金会正式发布 OpenAtom OpenHarmony(以下简称"OpenHarmony")3.2 Beta1 版本.   全球开发者可通过Gite ...

  2. HarmonyOS传感器开发指南

      HarmonyOS系统传感器是应用访问底层硬件传感器的一种设备抽象概念.开发者根据传感器提供的Sensor接口,可以查询设备上的传感器,订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用, ...

  3. 4天带你上手HarmonyOS ArkUI开发

    本次HarmonyOS ArkUI入门训练营课程--健康生活实战篇,手把手教大家如何制作一个合理膳食的APP前端Demo! 课程实战样例通过ArkUI声明式UI开发框架实现,只需用几行简单直观的声明式 ...

  4. maven 创建spring boot 需要的配置[一]

    前言 之所以写这个是因为现在官方推荐云创建: 所以标注一下maven project,创建后,如何导入spring boot. 正文 1.步骤一 在pom.xml 中加入: <dependenc ...

  5. webpack 打包jquery

    前言 记一次配置webpack jqeury中的案例. 正文 选取自己需要安装的jquery版本号 dependencies:{ //此处的jquery版本根据npm后的版本来看,会有安装版本的提示 ...

  6. 大数据ETL开发之图解Kettle工具入门到精通(经典转载)

    大数据ETL开发之图解Kettle工具(入门到精通) 置顶 袁袁袁袁满 文章目录 第0章 ETL简介 第1章 Kettle简介 1.1 Kettle是什么 1.2 Kettle的两种设计 1.3 Ke ...

  7. 使用 Docker 部署 Draw.io 在线流程图系统

    1)介绍 Draw.io GitHub:https://github.com/jgraph/drawio Draw.io 是一款开源的绘制流程图的工具,拥有大量免费素材和模板.程序本身支持中文在内的多 ...

  8. 本地使用ts配置

    1.需要安装的依赖 "dependencies": { "html-webpack-plugin": "^5.5.0", "ts- ...

  9. Helm Chart 多环境、多集群交付实践,透视资源拓扑和差异

    简介: 在本文中,我们将介绍如何通过 KubeVela解决多集群环境下 Helm Chart 的部署问题.如果你手里没有多集群也不要紧,我们将介绍一种仅依赖于 Docker 或者 Linux 系统的轻 ...

  10. AHPA:开启 Kubernetes 弹性预测之门

    ​简介:阿里巴巴云原生团队和阿里达摩院决策智能时序团队合作开发 AHPA 弹性预测产品,该产品主要出发点是基于检测到的周期做"定时规划",通过规划实现提前扩容的目的,在保证业务稳定 ...