数据分析从MySQL开始(Python)(十、MySQL分布式事务)

(在了解数据库事务的基础上,主要是理论,后续可能会有实战更新)

目录

一、原理简介

二、分布式事务语法

参考书籍:MySQL技术精粹 架构、高级特性、性能优化与集群实战


一、原理简介

资源管理器(RM):向事务提供资源具有管理事务提交或回滚  (数据库)

事务管理器(TM):与每个资源管理器通信,每个事务都是分布式事务中的分支事务

  • 第一阶段:所有的分支事务被准备。
  • 第二阶段:事务管理器告知资源管理器需不需要提交或者回滚。一个分支出错全部回滚只有一个分支时第二阶段会被省略

MySQL分布式事务分为两类:内部外部

                                                内部分布式事务:同一数据库下跨引擎

                                                外部分布式事务:跨多个数据库

二、分布式事务语法

  • 在MySQL中,开始执行分布式事务语法格式如下:
xa {start|begin} xid [join|resume]

xa start xid  启动一个标识为xid的事务

 

  • 结束分布式事务语法格式:
xa end xid [suspend [for migrate]]

(说明:xid包括 gtrid[,bqual[,formatID]] 

gtrid 一个分布式事务标识符

bqual 一个分支限定符,默认空字符串,在所有分支中必须是唯一

formatID 一个数字,标识gtrid、bqual值使用的格式,默认为1

 

  • 使事务进入prepare状态,也就是前面提到的第一阶段:
xa prepare xid
  • 提交具体分支事务:
xa commit xid [one phase]
  • 回滚具体的分支事务:
xa rollback xid
  • 返回处于prepare状态的分支事务的详细信息:
xa recover

 

参考书籍:MySQL技术精粹 架构、高级特性、性能优化与集群实战

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值