MySQL之分布式事务

1.分布式事务原理

在MySQL中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器

1> 资源管理器(RM) 用于提供通向事务资源的途径。数据库服务器是一种资源管理器。该管理器必须可以提交或回滚由RM 管理的事务。
2> 事务管理器(TM)用于协调作为一个分布式事务一部分的事务。TM于管理每个事务的RMs进行通信。在一个分布式事务中,各个单个事务均是分布式事务的“分支事务”。分布式事务和分支通过一种命名方法进行标记。

MySQL执行分布式的MYSQL的时候,MySQL相当于一个用于管理分布式事务中的分布式事务的资源管理器。于MySQL服务连接的客户端相当于事务管理器。

2.分布式事务分步骤

  • 第一阶段,所有的分支都被预定,即它们被TM(事务管理器)告知要准备提交,这意味着用于管理分支的每个RM会记录对于被稳定保存的分支的行动。分支指示是否它们可以这么做。这些结果被用于第二阶段
  • 第二阶段,TM告知RMs是否要提交或回滚。如果在预备分支时,所有的分支指示它们能够提交,则所有分支被告知要提交。如果在预备时,有任何分支指示它们将不能提交,则所有分支被告知回滚。
     

3.分布式事务语法

å¨è¿éæå¥å¾çæè¿°

xid的组成

å¨è¿éæå¥å¾çæè¿°

4、启动XA事务进行操作

XA END xid [SUSPEND [FOR MIGRATE]]
				
XA PREPARE xid -- 使事务进行PREPARE状态,也就是两个阶段提交的第一个提交阶段

5、提交或回滚分支事务

-- 提交或者回滚具体的分支事务,就是两阶段提交的第二个提交阶段
XA COMMIT xid [ONE PHASE]  -- 提交XA事务
XA ROLLBACK xid  -- 回滚XA事务

6、查看分支详细信息

-- 查看当前分支的详细信息
XA RECOVER

7、书本上的案例

å¨è¿éæå¥å¾çæè¿°

参考:

https://www.cnblogs.com/cxxjohnson/p/9145548.html

https://blog.csdn.net/wuzhiwei549/article/details/79925618

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值