本文描述的分布式事務(wù)針對MySQL版本≥5.7,并且PolarDB-X 1.0版本≥5.3.4的用戶。

基本原理

對于MySQL 5.7及更高版本,PolarDB-X 1.0默認基于XA事務(wù)協(xié)議進行分布式事務(wù)。

如果不滿足版本要求,請您移步基于MySQL 5.6的分布式事務(wù)

如何使用

PolarDB-X 1.0分布式事務(wù)使用體驗和單機MySQL數(shù)據(jù)庫完全一致,例如:

  • SET AUTOCOMMIT=0開啟一個事務(wù);
  • COMMIT提交當前事務(wù);
  • ROLLBACK回滾當前事務(wù)。

如果事務(wù)中的SQL僅涉及單個分片,PolarDB-X 1.0會將其作為單機事務(wù)直接下發(fā)給MySQL;如果事務(wù)中的SQL語句修改了多個分片的數(shù)據(jù),PolarDB-X 1.0會自動地將當前事務(wù)升級為分布式事務(wù)。

常見問題

Q: 使用分布式事務(wù)需要在控制臺開啟嗎?

A: 不需要顯式開啟,只要版本達到要求,即可以直接像單機MySQL那樣使用事務(wù)。

Q: 分布式事務(wù)對版本是否有要求?

A: PolarDB-X 1.0新版分布式事務(wù)要求MySQL版本≥5.7,PolarDB-X 1.0版本≥5.3.4。如果您的MySQL或PolarDB-X 1.0版本不滿足上述要求,建議您升級到新版,或查看基于MySQL 5.6的分布式事務(wù)