`
kabike
  • 浏览: 609445 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

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分布式事务实现 MySQL XA pdf

    ### MySQL分布式事务处理与XA协议详解 #### 一、引言 在当今互联网技术高度发展的背景下,分布式系统已经成为处理大规模数据的关键技术之一。而在分布式环境中,确保数据的一致性成为了非常重要的挑战。其中,...

    掌握分布式事务的艺术:深入MySQL XA事务处理

    虽然本文提供了 XA 事务的基本使用方法,但在实际应用中,还需要考虑事务的超时、网络故障处理以及故障恢复等问题。对于更复杂的分布式系统,可能需要采用其他机制来提高系统的可用性和性能,例如分布式事务的替代...

    MySQL 外部XA及其在分布式事务中的应用分析

    具体来说,当一个参与外部XA事务的MySQL实例崩溃时,恢复过程需要涉及到两个关键文件:binlog和xid_cache。binlog是MySQL的二进制日志文件,用于记录数据库的变更事件,它在内部XA事务中起到了协调者的作用。xid_...

    mysql的XA事务恢复过程详解

    总之,MySQL的XA事务恢复过程是一个复杂的过程,涉及到对InnoDB存储引擎的内部状态和日志的深入理解。当数据库非正常关闭时,这个过程能确保数据的完整性和一致性,但也需要管理员对数据库状态进行仔细检查,尤其是...

    Mysql事务控制(XA分布式事务)和锁定语句

    在分布式系统中,MySQL支持通过X/Open XA协议实现的分布式事务,这允许跨越多个资源管理器(如不同的数据库实例)的事务一致性。分布式事务的处理分为两个主要阶段: 1. **预提交阶段(Prepare Phase)**:在这一...

    基于MySQL的分布式事务的应用和缺陷.pdf

    MySQL服务器作为XA事务资源管理器,而与MySQL链接的客户端则相当于事务管理器的角色。分布式事务执行通常涉及两阶段提交,第一阶段中所有事务分支被准备提交,资源管理器记录操作并指示任务的可行性;第二阶段中事务...

    Distributed Transaction Processing The XA Specification.pdf

    由于XA规范的存在,不同的数据库管理系统(例如MySQL XA)、编程语言中的事务API(例如Java事务API, JTA)以及事务中间件(例如Atomikos事务中间件)等可以按照这一规范实现,以确保它们能够在分布式事务环境中无缝...

    MySQL 核心引擎InnoDB-事务锁多版本分析

    InnoDB的事务提交分为XA事务和Group Commit两个流程,前者用于保证InnoDB的redo log与MySQL的binlog日志一致性,后者则是一个性能优化特性,允许多个事务可以合并提交,以减少I/O操作。 在实际工作中,资深数据库...

    开源MySQL分布式中间件剖析.pptx

    4. MySQL XA事务:MySQL提供了XA事务支持,分为PREPARE和COMMIT两个阶段。在PREPARE阶段,事务状态会记录在binlog中,即使在服务故障后,仍可从binlog恢复状态,确保数据的一致性。 5. XA事务的挑战与解决方案:...

    高性能MySQL(第3版).part2

    7.11.1内部XA事务307 7.11.2外部XA事务308 7.12查询缓存309 7.12.1MySQL如何判断缓存命中309 7.12.2查询缓存如何使用内存311 7.12.3什么情况下查询缓存能发挥作用313 7.12.4如何配置和维护查询缓存316 7.12.5...

    mysql-connector-java-5.1.18.jar

    4. 支持XA事务:适用于分布式事务处理,满足高可用性和一致性的需求。 5. 自动重连:在网络中断或服务器重启后,能够自动恢复连接,提高系统的稳定性。 6. 支持多种认证方式:包括传统的MySQL Native Password、SHA...

    MySQL High Availability.zip

    MySQL的XA事务支持跨多个数据库实例的分布式事务,确保即使在部分失败的情况下,整个事务也能保持一致状态。 七、故障恢复 MySQL提供多种故障恢复策略,如基于binlog的点恢复和时间点恢复。通过定期备份和binlog,...

    mysql-5.0.67-win32.zip

    6. **XA事务**: XA是一种分布式事务协议,MySQL 5.0支持此协议,允许在多数据库环境中进行一致性的操作。 7. **增强的复制功能**: MySQL的复制功能允许数据从一个服务器(主服务器)异步复制到一个或多个服务器(从...

    MySQL 5.1中文手冊

    13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从...

    Mysql培训课件

    - **默认存储引擎更改为InnoDB**:这使得事务安全性成为MySQL的核心特性之一。 - **性能与可扩展性增强**: - 提高默认线程并发数。 - 控制后台I/O线程数量。 - 调整主线程I/O速率。 - 支持操作系统内存分配程序...

    150道mysql面试题汇总.doc

    13. **XA事务**:XA是分布式事务的协议,MySQL支持XA事务,用于跨多个数据库的协调操作。 14. **日志系统**:MySQL的日志包括binlog(二进制日志)用于复制和恢复,redo log(重做日志)用于保证事务持久性,undo ...

    MySQL 5.1参考手册

    13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从...

Global site tag (gtag.js) - Google Analytics