MySQL事务和锁07

  官网地址:MySQL :: MySQL 5.7 Reference Manual :: 13.3.7.1 XA Transaction SQL Statements

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

Mysql5.7参考手册  /  ...  /  XA事务SQL语句
13.3.7.1A事务SQL语句

若要在mysql中执行xa事务,请使用以下语句:

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

XA END xid [SUSPEND [FOR MIGRATE]]

XA PREPARE xid

XA COMMIT xid [ONE PHASE]

XA ROLLBACK xid

XA RECOVER [CONVERT XID]

为了XA START ……JOIN 和 RESUME 条款得到承认,但没有效果。

为了XA END …SUSPEND [FOR MIGRATE] 条款得到承认,但没有效果。

每一个xa语句都以XA 关键词,大多数都需要xid 价值。安xid 是一个xd事务标识符。它指示语句适用于哪个事务。xid 值由客户端提供,或由mysql服务器生成。安 xid 价值由一至三部分组成:

xid: gtrid [, bqual [, formatID ]]

gtrid 是一个全局交易标识符,bqual 是一个分支限定符formatID 是一个数字,用来标识 gtrid 和 bqual 价值观。如语法所示,bqual 和 formatID 是可选的。默认的 bqual 价值是'' 如果不给的话。默认的formatID 如果不给出,则值为1。

gtrid 和 bqual 必须是字符串文字,每个最多64字节(不是字符)长。 gtrid 和 bqual 可以通过多种方式指定。你可以使用一个引号('ab' ),十六进制字串(X'6162' ,0x6162 ),或比特价值( ). b'nnnn'

formatID是一个无符号整数。

gtrid 和 bqual 以字节解释数据的是mysql服务器的底层xd支持例程。然而,在解析包含xd语句的SQL语句时,服务器使用某些特定的字符集。为了安全起见gtrid 和 bqual 作为魔法弦。

xid 值通常由事务管理器生成。一个tm生成的值必须不同于其他TMS生成的值。一个给定的tm必须能够识别自己的xid 表中的数值 XA RECOVER 声明。

XA START xid 启动一个与给定的xid 价值。每个xa事务必须有唯一的 xid 值,所以当前的值不能被另一个x事务使用。使用gtrid 和 bqual 价值观。必须使用相同的方式来指定所有以下的xa语句xid 的价值 XA START 声明。如果你使用其中任何一个语句但指定xid 不对应于某些现有的xr事务的值,会发生错误。

可以将一个或多个xd事务作为同一全局事务的一部分。给定全局事务中的所有x事务必须使用相同的gtrid 价值xid 价值。因此,gtrid 值必须是全局唯一的,这样就不会有任何含糊不清的问题:给定的x事务是哪个全局事务的一部分。… bqual 一部分 xid 对于全局事务中的每一个x事务,值必须是不同的。(要求bqual 值的不同是当前mysql实现的一个局限。它不属于xa规范的一部分。)

…XA RECOVER 声明返回了在mysql服务器上的那些xd事务的信息。 PREPARED 国家。(见 Section 13.3.7.2, “XA Transaction States” .)输出包括服务器上每一个这样的xd事务的行,不管哪个客户机启动它。

XA RECOVER 输出行是这样的(举个例子) xid 由部件组成的价值 'abc' ,'def' ,以及 7 ):

mysql> XA RECOVER;
+----------+--------------+--------------+--------+
| formatID | gtrid_length | bqual_length | data   |
+----------+--------------+--------------+--------+
|        7 |            3 |            3 | abcdef |
+----------+--------------+--------------+--------+

产出列的含义如下:

  • formatID 是因为 formatID 交易的一部分 xid

  • gtrid_length 以字节计算的长度gtrid 一部分 xid

  • bqual_length 以字节计算的长度bqual 一部分 xid

  • data 是连接的 gtrid 和 bqual 部分 xid

XID值可能包含不可打印的字符。截至我的5.7.5,XA RECOVER 可选择的CONVERT XID 使客户端能够请求十六进制的XID值的条款。

你可能感兴趣的:(mysql,数据库)