首页 > 课堂 > 基础知识 > 正文

innodb_support_xa的用途

2024-09-12 20:30:07
字体:
来源:转载
供稿:网友
  innodb_support_xa可以开关InnoDB的xa两段式事务提交。
 
  如何开启?
  innodb_support_xa=true,支持xa两段式事务提交。
 
  默认为true,值为on,多线程并发执行提交事务,按照事务的先后顺序写入binlog,如果关闭则binlog记录事务的顺序可能与实际不符,造成slave不一致
 
  mysql> show global variables like 'innodb_support_xa';
  +-------------------+-------+
  | Variable_name     | Value |
  +-------------------+-------+
  | innodb_support_xa | ON    |
  +-------------------+-------+
  1 row in set (0.01 sec)
 
  如果是在3 crash(仅仅是commit记录没写成功),那么没有关系因为2中已经记录了此次事务的binlog,所以将这个进行commit。所以总结起来就是redo log里凡是prepare成功,但commit失败的事务都会先去binlog查找判断其是否存在(通过XID进行判断,是不是经常在binlog里面看到Xid=xxxx?这就是xa事务id),如果有则将这个事务commit,否则rollback。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表