| MySQL 版本 | Binlog 格式版本 | 關鍵特性 |
|---|---|---|
| 3.23 | v1 | 初始版本,僅 Statement 模式 |
| 4.0 | v2 | 改進格式,引入更多事件類型 |
| 5.0 | v3 | 支援 Row/Statement 混合模式,增強複制可靠性 |
| Master 版本 | Slave 版本 | 兼容性 | 備註 |
|---|---|---|---|
| 5.0 | 5.0 / 5.1 / 5.5 / 5.6 / 5.7 / 8.0 | ✅ 支援 | Slave 需啟用相應 binlog_format |
| 4.1 | 4.1 / 5.0 / 5.1+ | ✅ 支援 | 4.1.x 同 4.0.x 格式 |
| 4.0.3+ | 4.0.3+ / 4.1 / 5.0+ | ✅ 支援 | 避開 4.0.0-4.0.2 |
| 5.1+ | 5.0 | ⚠️ 風險 | Master 新事件類型可能導致 Slave 報錯 |
Seconds_Behind_Master 歸零。ROW 或 MIXED,減少非確定性函數導致的不一致。utf8mb4 遷移時,確保連接層 SET NAMES 一致。mysql.user 等系統表結構變更,升級後必須執行 mysql_upgrade。最新兼容性文檔請參考:MySQL Replication Compatibility Between Versions
MySQL 複制兼容性遵循「Slave 版本不低於 Master」原則。生產環境升級必須制定詳細回滾預案,優先在測試環境驗證完整鏈路,避免數據不一致或複制中斷。