MySQL事务在不同服务器上的两个数据库上

时间:2013-07-11 15:46:19

标签: mysql transactions

是否可以创建一个更改不同服务器上的数据库的MySQL事务?

我需要:

  1. 插入第一个数据库
  2. 从第一个数据库中选择
  3. 插入第二个数据库
  4. 如果其中任何一个失败,则恢复到原始状态

1 个答案:

答案 0 :(得分:3)

如上所述,此问题与Can I to a transaction across two MySQL databases?非常相似虽然该问题涉及同一服务器上的不同数据库,its accepted answer仍然适用。

确实如XA Transactions所述:

  

XA存储引擎可以支持InnoDB次交易。

[ deletia ]
     

XA支持分布式事务,即允许多个单独的事务资源参与全局事务的能力。事务性资源通常是RDBMS,但可能是其他类型的资源。

[ deletia ]
     

分布式事务的一些示例:

[ deletia ]
     
      
  • 应用程序执行涉及不同数据库服务器的操作,例如MySQL服务器和Oracle服务器(或多个MySQL服务器),其中涉及多个服务器的操作必须作为全局事务的一部分发生,而不是作为本地的单独事务发生到每个服务器。
  •