>  기사  >  데이터 베이스  >  mysql的XA事务恢复_MySQL

mysql的XA事务恢复_MySQL

WBOY
WBOY원래의
2016-06-01 13:38:41758검색

bitsCN.com


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) 

 

再启动就正常了。
 

bitsCN.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.