全部产品

基于 MySQL 5.7 的分布式事务

更新时间:2020-08-14 10:05:46

如果您的 MySQL 版本 ≥ 5.7,并且PolarDB-X版本 ≥ 5.3.4 时,将会自动开启 XA 分布式事务,使用体验和单机 MySQL 数据库一致,无需特殊指令开启。

如果不满足上述要求,请您移步 基于 MySQL 5.6 的分布式事务文档

基本原理

关于分布式事务的原理,详情请参见分布式事务基本原理

对于 MySQL 5.7 及更高版本,PolarDB-X默认基于 XA 事务协议进行分布式事务。

如何使用?

PolarDB-X分布式事务使用体验和单机 MySQL 数据库完全一致,例如:

  • SET AUTOCOMMIT=0 开启一个事务;
  • COMMIT 提交当前事务;
  • ROLLBACK 回滚当前事务。

如果事务中的 SQL 仅涉及单个分片,PolarDB-X会将其作为单机事务直接下发给 MySQL;如果事务中的 SQL 语句修改了多个分片的数据,PolarDB-X会自动地将当前事务升级为分布式事务。

常见问题

Q:使用PolarDB-X分布式事务需要在控制台开启吗?

A:不需要显式开启,只要版本达到要求,即可以直接像单机 MySQL 那样使用事务。

Q:PolarDB-X分布式事务对版本是否有要求?

A:PolarDB-X新版分布式事务要求 MySQL 版本 ≥ 5.7、PolarDB-X版本 ≥ 5.3.4。如果您的 MySQL 或PolarDB-X版本不满足上述要求,建议您升级到新版,或查看基于 MySQL 5.6 的分布式事务文档