全部产品
云市场

基于 MySQL 5.7 的分布式事务

更新时间:2019-05-12 19:45:18

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

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

基本原理

分布式事务的原理请参考文档 DRDS 分布式事务基本原理

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

如何使用?

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

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

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

常见问题

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

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

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

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