mysql xa 演示_mysql的XA事务恢复过程详解

mysql数据库开机报错:

InnoDB: The log sequence number in ibdata files does not match

InnoDB: the log sequence number in the ib_logfiles!

100224 12:24:20 InnoDB: Database was not shut down normally!

InnoDB: Starting crash recovery.

InnoDB: Reading tablespace information from the .ibd files...

InnoDB: Restoring possible half-written data pages from the doublewrite

InnoDB: buffer...

InnoDB: Transaction 0 4497755 was in the XA prepared state.

InnoDB: Transaction 0 4468551 was in the XA prepared state.

InnoDB: Transaction 0 4468140 was in the XA prepared state.

InnoDB: 3 transaction(s) which must be rolled back or cleaned up

InnoDB: in total 0 row operations to undo

InnoDB: Trx id counter is 0 5312768

InnoDB: Starting in background the rollback of uncommitted transactions

100224 12:24:20 InnoDB: Rollback of non-prepared transactions completed

100224 12:24:20 InnoDB: Started; log sequence number 0 3805002509

100224 12:24:20 InnoDB: Starting recovery for XA transactions...

100224 12:24:20 InnoDB: Transaction 0 4497755 in prepared state after recovery

100224 12:24:20 InnoDB: Transaction contains changes to 8 rows

100224 12:24:20 InnoDB: Transaction 0 4468551 in prepared state after recovery

100224 12:24:20 InnoDB: Transaction contains changes to 1 rows

100224 12:24:20 InnoDB: Transaction 0 4468140 in prepared state after recovery

100224 12:24:20 InnoDB: Transaction contains changes to 1 rows

100224 12:24:20 InnoDB: 3 transactions in prepared state after recovery

100224 12:24:20 [Note] Found 3 prepared transaction(s) in InnoDB

100224 12:24:20 [Warning] Found 3 prepared XA transactions

100224 12:24:20 [Note] Event Scheduler: Loaded 0 events

100224 12:24:20 [Note] /opt/mysql/bin/mysqld: ready for connections.

Version: '5.1.39' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)

意味着有三个XA的事务没有提交或回滚。

登录到mysql

mysql> xa recover;

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

| formatID | gtrid_length | bqual_length | data |

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

| 131075 | 30 | 28 | 1-7f000001:bae5:4b6928eb:f06397f000001:bae5:4b6928eb:f0650 |

| 131075 | 30 | 28 | 1-7f000001:bae5:4b6928eb:fb5c37f000001:bae5:4b6928eb:fb5cd |

| 131075 | 30 | 28 | 1-7f000001:bae5:4b6928eb:f03ea7f000001:bae5:4b6928eb:f0400 |

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

数据表示信息如下:

formatIDis the formatIDpart of the transaction xid

gtrid_lengthis the length in bytes of the gtridpart of the xid

bqual_lengthis the length in bytes of the bqualpart of the xid

datais the concatenation of the gtridand bqualparts of the xid

这是三个XA事务的信息,准备直接回滚。

mysql> xa rollback '1-7f000001:bae5:4b6928eb:fb5c3','7f000001:bae5:4b6928eb:fb5cd',131075;

Query OK, 0 rows affected (0.41 sec)

再启动就正常了。

MySQL XA

I.5. 对XA事务的限制

XA事务支持限于InnoDB存储引擎。

MySQL XA实施是针对外部XA的,其中,MySQL服务器作为资源管理器,而客户端程序作为事务管理器。未实施“内部XA”。这样,就允许MySQL服务器内的单独存储引擎作为RM(资源管理器),而服务器本身作为TM(事务管理器)。处理包含1个以上存储引擎的XA事务时,需要内部XA。内部XA的实施是不完整的,这是因为,它要求存储引擎在表处理程序层面上支持两阶段提交,目前仅对InnoDB实现了该特性。

对于XA START,不支持JOIN和RESUME子句。

对于XA END,不支持SUSPEND [FOR MIGRATE]子句。

在全局事务内,对于每个XA事务,xid值的bqual部分应是不同的,该要求是对当前MySQL XA实施的限制。它不是XA规范的组成部分。

如果XA事务达到PREPARED状态而且MySQL服务器宕机,当服务器重启后,能够继续处理事务。就像原本应当的那样。但是,如果客户端连接中止而服务器继续运行,服务器将回滚任何未完成的XA事务,即使该事务已达到PREPARED状态也同样。它应能提交或回滚PREPARED XA事务,但在不更改二进制日志机制的情况下不能这样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理前沿技术_深入浅出人工智能前沿技术—机器视觉检测,看清人类智慧工业...

早在50年前,工业机器人就已经横空出世,给人类带来更多的方便与可能。今天,工业机器人正以迅猛的发展速度替代人工,从事繁重及枯燥的工作,并且向着更智能的方向在发展,而服务机器人,将会是下一个…

最全高考分数线出炉!!查了分后,这届学生为了过线真是太拼了.......

全世界只有3.14 % 的人关注了爆炸吧知识2020年高考成绩今天可以查了!你还记得自己查分那天是什么心情吗?反正超模君当年是想看却又不敢看表面越是想要云淡风轻内心就越不受控制的心跳失控转眼过去了许多年又到了高考放榜的日子在这么欢乐的日子里怎么能缺…

学习笔记之web worker

当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此…

让人难以置信的HTML5和JavaScript实验

Google的 Chrome实验室收集了很多让人难以置信的基于 HTML5 Canvas 和 JavaScript 的实验项目,里面的例子都很独特,让人惊叹。我从未想过结合 HTML 和 JavaScript 能实现这么强大的效果。今天,本文与大家分享其中9个很棒的例子,为…

22468!Windows 11新预览版发布:旧版系统支持十月终止请速升

面向 Dev 频道的 Windows 预览体验成员,微软现已发布 Windows 11 预览版 Build 22468。Windows 11 Insider Preview Build 22468 主要变化如下:1.此前 Dev 频道推送的所有 Windows 11 预览版将于 2021 年 10 月 31 日到期,请立即更新到 Windo…

influxdb mysql对比_InfluxDB和MySQL的读写对比测试

今天进行了InfluxDB和MySQL的读写对比测试,这里记录下结果,也方便我以后查阅。操作系统: CentOS6.5_x64InfluxDB版本 : v1.1.0MySQL版本:v5.1.73CPU : Intel(R) Core(TM) i5-2320 CPU 3.00GHz内存 &#x…

python搭建selenium_了解搭建selenium安装以及配置环境

之前带大家了解过很多关于python的安装程序,本期也不例外,现在就带大家了解selenium的安装教程以及配置内容。安装包:python开发工具:pyCharm开源版本Python安装过程:1、双击已下载的python安装包,进入第一…

Zabbix Maintenance 维护周期

为什么80%的码农都做不了架构师?>>> 概述 你可以定义维护周期在主机或主机组里。这里有2种维护状态,一种是停止对目标的监控数据的收集,一种是继续对目标的监控数据的收集。 当不想收到维护中的服务器的报警时候,需…

女生心中的理想男生!这些条件你符合几条?

1 女生心中的理想男生2 女人购物&男人购物3 好像有点混乱4 哥们和我女朋友整天打打闹闹,真无聊。5 分手吧6 妈妈专属头像-!你点的每个赞,我都认真当成了喜欢

统计信息的备份

一般重新收集table 或index 都会有风险,需要把之前的统计信息备份下,万一收集后performance 没有之前好,已经将备份的统计信息导入快速恢复。 创建统计信息备份表 begin dbms_stats.create_stat_table(ownname > SYSTEM,stattab > STAT…

mysql 定义XML字段_MyBatis之基于XML的属性与列名映射

上一博客主要是对单表的增删改查,比较简单,而且每个属性与table表的列都是一一对应名字也一样,今天主要学习属性与table表列名不一致的处理,主要有两种一是属性与列名不一致,二是枚举的情况,这里暂时考虑的…

jQuery Pagination Ajax分页插件中文详解

参数 参数名描述参数值maxentries总条目数必选参数,整数items_per_page每页显示的条目数可选参数,默认是10num_display_entries连续分页主体部分显示的分页条目数可选参数,默认是10current_page当前选中的页面可选参数,默认是0&am…

Dapr闪电说 - Dapr落地云原生架构

你认识Dapr么?出自微软,面向社区,开源的云原生工具Dapr已经发布多时了,你了解Dapr的相关知识么?无论你是.NET程序员还是Python ,或者Java ,还有Go等都可以用Dapr来完成你的云原生场景。本次闪电…

uboot移植9个步骤_不知道具体的新房装修步骤?9个步骤教你吃透装修

最近有同学准备装修新房了,不知道具体的装修步骤是怎么样的,需要花多少预算?装修时间要多久?其实这也不奇怪,很多没有装修经验的朋友对这方面都不太了解的,今天分享一般装修的流程工序,希望能给…

Lucas 定理

Lucas 定理:n、m是非负整数,p是素数。那么: 1、C(n,m)% p Lucas(n,m,p) 2、Lucas(n,m,p) (C&…

太牛了,原来古人是这样铸造钱币的。。。

全世界只有3.14 % 的人关注了爆炸吧知识古代钱币是怎么做出来的呢?今天与各位说说古钱币的铸造工艺,抛砖引玉让大家更多了解假货的鉴别特点。关于古代钱币铸造工艺的记录文献资料,遗留极少。关于母钱翻砂技术,最早的史料见于明代宋…

渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 汉

中文名: 终级渲染器 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 顶渲简体中文版 资源格式: 压缩包 版本: R3.5 发行时间: 2010年 制作发行: 原创:cebas VISUAL TECHNOLOGY Inc 中文:顶渲 Ma5 www.toprender.com 地区: 德国 语言: 简体中文,…

java赋值语句_java并发编程之原子性问题

程序是否线程安全,取决于哪些要素呢,主要是以下三个:原子性,可见性,有序性。今天先一起来学习原子性。原子性:我理解一个操作不可再分,即为原子性。而在并发编程的环境中,原子性的含…

“高阶思维”发展意识

1. 前言这个题目不太好交流,因为每个人的认知层面不同,不好达成大多数人趋近相同的看法。这个题目高度抽象化,不谈具体化的内容显得空洞及不容易理解,谈具体化的内容又无法找到着力点。抽象能力本身就是高阶思维的一种体现形式&a…

AngularJS快速入门指南09:SQL

我们可以将之前章节中的代码用来从数据库中读取数据。 通过PHP Server从MySQL数据库中获取数据 <div ng-app"myApp" ng-controller"customersCtrl"> <table><tr ng-repeat"x in names"><td>{{ x.Name }}</td><…