2014-02-19 115 views
5

對於大型數據集和實時系統,停止使用RDS作爲來自5.5實例的mysqldump並使用mysql命令加載該數據的應用程序是不切實際的。將Amazon RDS實例從MySQL 5.5升級到MySQL 5.6

2013年7月1日,亞馬遜博客http://aws.typepad.com/aws/amazon-rds/page/2/ Jeff Barr的帖子「目前不支持將現有數據庫實例從MySQL 5.5升級到MySQL 5.6,但我們打算在不久的將來提供此功能。

7個月後,我沒有看到他們的任何答案。我正在尋找可以在RDS環境中將MySQL 5.5升級到MySQL 5.6的無中斷或幾分鐘中斷的選項。

通常對於像這樣的升級,我從MySQL 5.5主服務器製作MySQL 5.6副本,然後關閉應用程序,將應用程序MySQL更改爲連接到5.6服務器,然後重新啓動應用程序。將RDS MySQL 5.5實例複製到不同版本的RDS副本或外部副本不是RDS中的選項。

有什麼選擇爲人們工作?

回答

2

我在同一個可用區中使用了一個非常大的實例類型的現場實例。它有一個8核心實例有一個SSD驅動器,並進行了導出。它確實需要一些工作,因爲數據集很大,現場實例終止。但是,通過提高現場實例的價格並製作可用SSD空間的RAID0,我能夠取得成功。

有多種方法可以做到這一點;但是我做到了。 - 發動m3.2xlarge點實例的ubuntu 12.04LTS 64位實例 - 登錄然後成爲用戶根 - 卸載的/ mnt - 使用易於得到安裝mdadm的(接受的缺省值) - 用來須藤的mdadm --create - l0 -n2/dev/xdc/dev/xvdb/dev/xvdc - 使用sudo mkfs.ext4/dev/md0 - 使用sudo mount -t auto/dev/md0/mnt將分區掛載到/ mnt - used apt - 安裝MySQL客戶端 - 更新舊RDS的安全性以允許新實例訪問 - 停止應用程序更新舊RDS - 執行mysql轉儲至/ mnt - 啓動新的RDS,其參數我想用同樣的安全措施oups - 使用MySQL客戶端加載數據庫 - 然後更新應用程序以使用新的數據庫

這將取決於您的數據庫大小和條件,這一天怎麼看這一過程的時間。現場實例確實花了錢,而且我還必須一次運行兩個RDS實例。然而,這是一條可行的道路,我能夠讓事情發展。