當前位置:
首頁 > 最新 > 將MySQL 資料庫遷移到 Amazon Aurora 資料庫

將MySQL 資料庫遷移到 Amazon Aurora 資料庫

大咖專欄

大咖專欄主要刊登 AWS 諸位大咖親自撰寫的 Blog,內容涉獵廣泛,話題討論前沿,且與實戰緊密相連。我們非常歡迎小夥伴們在評論區留言,與大咖互動交流!

今天為大家撰文的大咖,是我們的 AWS 解決方案架構師——藍勇。

藍勇

AWS 解決方案架構師

負責基於 AWS 的雲計算方案架構的諮詢和設計,同時致力於 AWS 雲服務在國內的應用和推廣,在 DR 解決方案、數據倉庫、RDS 服務、企業應用、自動化運維等方面有著廣泛的設計和實踐經驗。在加入 AWS 之前,在甲骨文中國擔任資深售前工程師,負責售前方案諮詢和架構設計,在資料庫、中間件、大數據及企業應用方面有豐富經驗。

有很多用戶在本地或雲中使用標準 MySQL 來持久化業務數據,現在他們希望能使用新一代基於雲架構的 Amazon Aurora 資料庫。 使用 Amazon Aurora 資料庫有非常多的好處,它的性能比普通的 MySQL 資料庫高數倍,並且很容易橫向及縱向擴展。對於已有系統,首先會面對如何將現有資料庫遷移到 Amazon Aurora 中的問題。下面將介紹如何將一個 AWS 雲中 Amazon Linux 上的 MySQL 遷移到 Amazon Aurora 的全過程,遷移的過程分為下面幾個步驟:

-安裝 Percona XtraBackup 備份工具

-備份 MySQL 資料庫

-將備份 MySQL 文件上傳到 Amazon S3

-在 Aurora Console 中還原備份文件到 Amazon Aurora

對於數據中心的 MySQL ,整個遷移過程是類似的。

Percona XtraBackup 備份工具

XtraBackup 是 MySQL 的一個開源熱備份的工具,能支持全備及增量備份等。和 mysqldump 相比, mysqldump 是將資料庫轉換為 SQL 語句,再應用到目標資料庫去,因此遷移較大 MySQL 資料庫到 Amazon Aurora 時,mysqldump 的方式效率太低。而 XtraBackup 備份的是資料庫的二進位數據及日誌等,並且文件可以壓縮,這樣文件更小,因此備份和還原都更快。因此對於大資料庫推薦用 XtraBackup 備份的方式進行遷移

01

下載 Percona yum repository

由於 Percona XtraBackup 安裝地址並不在 yum 的默認倉庫(repository)里,因此運行下面命令下載並安裝:

wget:http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

運行結果如下圖所示:

02

安裝 Percona yum repository

使用下面命令安裝已下載的 rpm 包,

sudo rpm -ivh percona-release-0.1-4.noarch.rpm

結果如下圖所示:

03

檢查 yum repository 的安裝結果

運行 yum list 命令檢查 percona 相關的 repository 是否被正確安裝。如下命令:

yum list |grep percona

命令輸出類似下圖:

04

安裝 percona-xtrabackup 工具

運行下面 yum 命令直接安裝 percona-xtrabackup 包,必須安裝 2.3 版本以上軟體。

yum install percona-xtrabackup-24

輸出結果如下圖所示:

安裝成功後,應該顯示安裝成功信息如下圖所示:

備份 MySQL 資料庫

運行下面命令備份 MySQL 實例為壓縮文件。

sudo innobackupex -u root -ppassword --stream=tar /tmp | gzip -9 > ./prod_db.tar.gz

整個備份過程如下圖所示:

你會看到最後顯示備份成功。

xtrabackup: Transaction log of lsn (1719557) to (1719557) was copied.

180517 08:46:45 completed OK!

將備份文件上傳到 S3

01

安裝本地 CLI 命令行工具

使用下面命令配置命令行訪問 aws 資源:

aws configure

如果不了解如何配置命令行工具,請參考:

https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-getting-started.html

02

將文件上傳到與 Amazon Aurora 資料庫

相同 Region 的 Amazon S3 bucket

03

在 S3 上檢查文件是否上傳成功

(也可以在命令行中直接檢查)

在 Aurora Console 上

將 MySQL 備份文件還原為 Aurora 資料庫

01

在 RDS Console 上

點擊 」Restore Aurora DB cluster from S3」

開始還原過程

02

指定具體備份信息

Source engine

當前只支持 MySQL 引擎的 S3 遷移。

Source engine version

源 MySQL 資料庫的版本,當前支持 5.5 及 5.6 版本。

S3 bucket

上傳到 Amazon S3 上 bucket 的路徑。

IAM role

創建一個新的角色,此角色用來授權 Amazon Aurora 訪問 Amazon S3 中的備份文件。

IAM role name

指定新創建角色的名稱。

03

指定要還原 Aurora cluster 的信息

DB Engine

顯示當前 Aurora MySQL 的引擎版本。

DB Instance class

定義 Aurora 的 master 節點容量大小,臨時測試環境可以使用 t 系列的機型,生產環境可以使用 r 系列的機型。請根據生產的壓力選擇合適大小的機型。

Create Replica in Different Zone

Amazon Aurora 是一個集群資料庫,這個集群資料庫可以有一個主節點和多個 read replica 的只讀節點。如果 read replica 節點分布在多個可用區,則當主節點可用區不可用時,資料庫可以切換到另外一個可用區的 read replica。

Settings

資料庫基本信息設置。

04

指定 Aurora 環境信息

VPC

指定 Aurora 資料庫需要創建在哪個 VPC 下。

Subnet group

指定在哪個子網組中創建 Aurora 實例,請在 RDS Console 主頁左側 subnet groups 列表下定義子網組。

Public accessibility

指定資料庫是否公網可訪問,一般生產資料庫都設置成內網訪問的模式。如果你選擇的子網組是都是私有子網,則你設置成公有訪問,也無法訪問資料庫。

VPC Security group

設置安全組的信息,請確保你向目標訪問 aurora 的機器開放3306埠

05

還原後去 RDS Console 中

確認資料庫還原成功

從上面可以知道,我們只需要幾個簡單的步驟,就可以將 MySQL 資料庫備份然後恢復成一個 Aurora 資料庫了,小夥伴們還等什麼,趕緊去試試吧!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AWS雲計算 的精彩文章:

借鑒 Netflix,你熟悉的東方明珠正在雲上業務部署
活躍用戶 4 億的 TCL 旗下創新型互聯網公司,怎樣打響海外搶灘登陸?

TAG:AWS雲計算 |