MySQL查询缓存

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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

OMG!Java高级开发岗必问知识点

目录1.Mysql2.CHAR与VARCHAR的区别?3.能说下myisam和innodb的区别吗?4.你能说下事务的基本特性和隔离级别吗?5.并发问题脏读、不可重复读、幻读?6.事务的隔离级别?7.说说自增主键、UUID?8.mysql的约束分类?9.drop、delete与tru

MySQL 空事务

   问题描述;   研发同事反应MySQL数据库有锁,检查innodb\_trx时,发现有很多长时间未结束的空事务。   这些事务的trx\_mysql\_thread\_id都为0,因此不能通过kill  id的方式强制关闭这些长时间未结束的僵尸事务。           SELECT       tr

MySQL数据库InnoDB存储引擎Log漫游(1)

作者:宋利兵来源:MySQL代码研究(mysqlcode)0、导读本文介绍了InnoDB引擎如何利用UndoLog和RedoLog来保证事务的原子性、持久性原理,以及InnoDB引擎实现UndoLog和RedoLog的基本思路。00–UndoLogUndoLog是为了实现事务的原子性,

MySQL存储过程之事务管理

MySQL存储过程之事务管理ACID:Atomic、Consistent、Isolated、Durable存储程序提供了一个绝佳的机制来定义、封装和管理事务。1,MySQL的事务支持MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关:Java代码 1.MyISAM:不支