WEB开发网
开发学院数据库MySQL MySQL数据库中对XA事务的限制 阅读

MySQL数据库中对XA事务的限制

 2007-10-29 11:01:29 来源:WEB开发网   
核心提示:XA事务支持限于InnoDB存储引擎, MySQL XA实施是针对外部XA的,MySQL数据库中对XA事务的限制,其中,MySQL服务器作为资源管理器,即使该事务已达到PREPARED状态也同样,它应能提交或回滚PREPARED XA事务,而客户端程序作为事务管理器,未实施“内部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事务,但在不更改二进制日志机制的情况下不能这样。

Tags:MySQL 数据库 XA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接