begin; # 开启事务... # 跨 set 的增删改查等非 DDL 操作commit; # 提交事务
xa begin ''; # 开启 XA 事务,事务标识由系统内部生成,因此传入空字符串... # 跨 set 的增删改查等非 DDL 操作select gtid(); # 获取当前 XA 事务的标识,下面假定为'xid'xa prepare 'xid'; # 准备事务xa commit/rollback 'xid'; # 提交或回滚事务
select gtid() :获取当前分布式事务的全局唯一标识。如果为空,则该事务不是分布式事务。select gtid_state(“当前分布式事务的全局唯一标识”):在事务提交异常之后(默认3秒后)用来获取事务的状态。可能的结果有:xa boost ‘当前分布式事务的全局唯一标识’ :普通事务提交(commit)发送异常之后,事务在一段时间内(默认30秒)由后台组件自动提交或者回滚掉。如果用户不愿意等待这么长的时间,可以反复调用该接口,促使系统及时地提交或回滚掉事务。该接口会返回事务的状态,即提交或者回滚。xa lockwait:显示当前分布式事务的等待关系。用户可以通过 dot 工具,将其转化为图片。 xa show:显示当前 proxy 上处于活跃状态的事务。文档反馈