如果您的 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 的分布式事务文档。