MySQLXA事务恢复过程的详细解决方案
2023-12-05 06:22:21
MySQL数据库出错: InnoDB:在ibdata文件日志序列号不匹配 InnoDB:在ib_logfiles日志序列号! 100224 12:24:20 InnoDB:笪塔巴涩并不是简单地关闭! InnoDB:开始崩溃恢复。 InnoDB:从阅读IBD文件表空间信息… InnoDB:恢复可能写了一半的doublewrite数据页 InnoDB:缓冲区… InnoDB:交易04497755在准备好的状态下。 InnoDB:交易04468551在准备好的状态下。 InnoDB:交易04468140在准备好的状态下。 InnoDB事务:3(S)必须回滚或清理 InnoDB:共0行的操作撤销 InnoDB:TRX ID计数器05312768 InnoDB:在背景的未提交的事务回滚启动 100224 12:24:20 InnoDB:完成非准备好的事务回滚 100224 12:24:20 InnoDB:开始;日志序列号03805002509 100224 12:24:20 InnoDB:对XA事务开始复苏… 100224 12:24:20 InnoDB:交易04497755在准备状态恢复后 100224 12:24:20 InnoDB事务包含8行的变化: 100224 12:24:20 InnoDB:交易04468551在准备状态恢复后 100224 12:24:20 InnoDB事务包含1行的变化: 100224 12:24:20 InnoDB:交易04468140在准备状态恢复后 100224 12:24:20 InnoDB事务包含1行的变化: 100224 12:24:20 InnoDB:3交易在准备状态恢复后 100224 12:24:20 {注}发现3制备(S)在InnoDB事务 100224 12:24:20 {警告}发现3准备XA事务 100224 12:24:20 {注}事件调度器:装0事件 100224 12:24:20 {注} / / /选择MySQL bin / mysqld:准备连接。 版本:'5.1.39'socket: / / MySQL TMP。袜子的端口:3306 MySQL社区服务器(GPL) 这意味着有三个XA事务未提交或回滚。 登录到MySQL 恢复; + + + + ---------- -------------- -------------- ------------------------------------------------------------ + formatid gtrid_length bqual_length | | | |数据| + + + + ---------- -------------- -------------- ------------------------------------------------------------ + | 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的formatidpart的交易码 gtrid_lengthis在XID的gtridpart字节长度 bqual_lengthis在XID的bqualpart字节长度 数据的gtridand XID的bqualparts级联 这是三个XA事务的信息,可以直接回滚。 MySQL > xa回滚'1-7f000001:bae5:4b6928eb:fb5c3 ','7f000001:bae5:4b6928eb:fb5cd ',131075; 查询OK,0行受影响(0.41秒) 重新开始是正常的。 MySQL XA 最大的限制对XA事务。 XA事务的支持是有限的InnoDB存储引擎。 MySQL XA的实施是针对外部XA,在MySQL服务器作为资源管理器和客户端程序作为一个事务管理器。内部XA并未实现。这样,在MySQL服务器的一个单独的存储引擎是允许作为RM(资源管理器),和服务器本身是TM(事务经理)。当处理XA事务,包含1个以上的存储引擎,内部XA是必需的。内部XA的实施是不完整的,这是因为它需要存储引擎支持两阶段提交的表格处理水平。目前,它只实现了这一特点,InnoDB。 对于XA启动,不支持联接和恢复子句。 对于XA端,不支持挂起迁移{ }子句。 在全球事务中,每个XA事务的码值,bqual部分应该是不同的,这一要求是制约当前MySQL XA实现。它不是XA规范的一个组成部分。 如果XA事务准备状态和MySQL服务器,当服务器重启时,可以继续处理事务。是应该的。但是,如果客户端连接中断,服务器继续运行,服务器将回滚所有未完成的XA事务,即便交易已达到准备状态它应该能够提交或回滚准备XA事务,但不改变二进制日志机制为例。tag:解决方案 恢复 事务 过程 详细
相关内容