博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL查询缓存
阅读量:5367 次
发布时间:2019-06-15

本文共 1052 字,大约阅读时间需要 3 分钟。

1、mysql分布式事务

在mysql中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器,分布式事务的事务参与者、资源管理器、事务管理器等位于不同的节点上。这些不同的节点相互协作共同完成一个具有逻辑完整性的事务。分布式事务主要作用在与确保事务的一致性和完整性。

1.1、了解分布式事务的原理

    资源管理器(RM):用于向事务提供资源,同时还具有管理事务提交和回滚的能力。数据库就是一种资源管理器。

    事务管理器(TM):用于和每个资源管理器通信,协调并完成事务的处理。一个分布式事务中各个事务均是分布式事务的“分支事务”。分布式事务和各个分支通过一种命名方法进行标识。

1.2、分布式事务的语法

执行分布式事务的语法:

XA {START|BEGIN} xid [JOIN|RESUME]

XA START xid表示用于启动一个事务标识为xid的事务。xid分布式事务表示的值既可以由客户端提供,也可以由mysql服务器生成。

结束分布式事务的语法:

XA END xid [SUSPEND [FOR MIGRATE]]

其中xid包括gtrid[,[bqual [,formatID ]],含义如下:

  • gtrid是一个分布式事务标识符
  • bqual表示一个分支限定符,默认值是空字符串。对于一个分布式事务中的每个分支事务,bqual值必须是唯一的。
  • formatID是一个数字,用于表示有gtrid和bqual值使用的格式,默认值是1

XA PREPARE xid:所有的分支被预备。它们被事务管理器告知要准备提交,每个分支资源管理器记录分支的行动并指示任务的可行性。

XA COMMIT xid [ONE PHASE]:提交具体的分支事务

XA ROLLBACK xid:回滚具体的分支事务(分支事务被实际地提交或者回滚)

XA RECOVER:返回数据库中处于PREPARE状态的分支事务的详细信息。

MySQL分布式分为两类:

  1. .内部分布式事务。用于同一个实例下跨多个数据引擎的事务,由二进制日志作为协调者
  2. 外部分布式事务:跨多个mysql实例的分布式事务,需要应用层介入作为协调者,全局提交还是回滚,都是由应用层决定的。对应用层的要求比较高。

MySQL 5.7 完美的分布式事务支持

https://www.linuxidc.com/Linux/2016-02/128053.htm

转载于:https://www.cnblogs.com/xb88/p/8513537.html

你可能感兴趣的文章
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>