如何將AWS RDS 中的MySQL無縫升級切換至Aurora 5.6?
停機時間有多久?
會不會因爲數據量的增加而導致停機時間的增加?
下面參考這個方式,大大縮短了停機時間,而且無關數據量的大小。
-
創建只讀副本,並對只讀副本進行升級。此步驟無停機時間。[1]
1) 先創建一個只讀副本,這個副本用作升級。這個過程是不會對源數據庫實例造成影響。
2) 帶只讀副本創建好之後,對該只讀副本進行升級。這時,停機不會影響到您的主庫。
3) 開啓只讀副本的備份,將<備份保留期>設置爲大於等於"1天". 這是爲升級Aurora做準備。 -
對只讀副本創建Aurora Read Replica。此步驟不影響主庫。[2]
1) 對升級至 MySQL 5.6的只讀副本,創建 Aurora Read Replica。
2) 創建完成後,確認主庫到新Aurora Read Replica實例的同步狀態。 -
切換數據庫至 Aurora 實例。[3]
1) 終止寫入到源 MySQL 數據庫實例的所有事務,然後等待 Aurora 只讀副本的副本滯後達到 0。
2)將 Aurora Read Replica 實例提升爲主庫。
通過這種方法,停機之間僅僅是最後的切換時間,無論數據庫有多大,都不會影響到停機時間。
可以參考官方文檔。
[1]: https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.MySQL.html#USER_UpgradeDBInstance.MySQL.ReducedDowntime
[2]: https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Replica.html
[3]: https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Replica.html#AuroraMySQL.Migrating.RDSMySQL.Replica.Promote