自建數據庫遷移到云數據庫
一鍵部署
45
https://www.aliyun.com/solution/tech-solution/mysql-rds
方案概覽
本方案將引導您將網站的自建數據庫平滑遷移至云數據庫RDS。
通過使用RDS,您可以獲得穩定、可靠和安全的企業級數據庫服務,可以更加專注于發展核心業務,無需過多考慮數據庫的管理和維護。
本方案的體驗預計產生費用不超過3元(假設資源運行時間不超過1小時)。如果您調整了資源規格、使用時長,或執行了本方案以外的操作,可能導致費用發生變化,請以控制臺顯示的實際價格和最終賬單為準。
方案架構
由RDS實現數據庫可靠性、可用性、安全性的保障。
應用部署在ECS上,通過內網(VPC)訪問RDS。
使用數據傳輸服務DTS將ECS上的自建數據庫遷移至云數據庫RDS,遷移過程平滑、安全、高效,應用停機時間降低到分鐘級別。
部署資源
10
一鍵部署資源
您可以通過一鍵部署模板,快速創建一個云服務器ECS實例和一個云數據庫RDS實例,ECS實例上已經部署了網站以及自建數據庫。本方案以WordPress網站為例。
專有網絡VPC
規劃項 | 說明 | 示例值 |
VPC名稱 | ROS會新建一個VPC作為本方案的專有網絡,方案中的所有資源都會創建在該VPC下。ROS定義參見什么是資源編排服務。 | database-migration-test |
網段 | 在創建VPC時,本方案會按照無類域間路由塊(CIDR block)的格式為您的專有網絡劃分私網網段。阿里云VPC支持的網段信息請參見專有網絡組成部分。 | 192.168.0.0/16 |
虛擬交換機
規劃項 | 說明 | 示例值 |
臺數 | 方案中使用的虛擬交換機臺數。 | 1 |
地域 | 您的云服務部署的地域。選擇地域的基本原則請參見地域和可用區。 | 華東1(杭州) |
可用區 | 在規劃的地域內選擇可用區部署交換機。 建議選擇排序靠后的可用區,一般此類可用區較新,資源更充沛,新規格也會在新的可用區優先上線。 | 可用區G |
交換機子網段 | 交換機網段必須為專有網絡子網段。 | 192.168.0.0/24 |
云服務器ECS
規劃項 | 說明 | 示例值 |
實例數量 | 默認方案需要一臺ECS實例。 | 1 |
實例規格 | ECS的實例規格及內核、vCPU數量。關于ECS選型的最佳實踐請參見實例規格選型指導。 | ecs.e-c1m1.large |
鏡像及版本 | ECS系統盤,為ECS實例提供操作系統、預裝軟件等。 | Alibaba Cloud Linux 3.2104 LTS 64位 |
系統盤類型 | 硬盤類型。 | ESSD PL1云盤 |
登錄憑證 | root用戶的登錄密碼。 | 用戶自定義 |
可用區 | 與交換機可用區保持一致。 | 可用區G |
配置數據 | ECS實例初始化自動布置配置數據。 | 自動部署WordPress、MySQL及相關環境 |
云數據庫RDS
規劃項 | 說明 | 示例值 |
實例數量 | 方案默認需要一臺RDS MySQL實例。 | 1 |
系列 | 基礎系列為單節點。您也可以把實例從基礎系列升級為高可用系列或集群系列。 | 基礎系列 |
數據庫版本及類型 | RDS支持多種數據庫類型及對應版本,方案默認使用MySQL 8.0。 | MySQL 8.0 |
實例規格 | RDS實例的內存、vCPU數量等。如何選擇合適的RDS MySQL實例請參見RDS MySQL選型指南。 | mysql.n2e.small.1 |
存儲類型 | RDS支持本地盤與云盤存儲,方案默認為ESSD PL1云盤。 | ESSD PL1云盤 |
存儲空間 | RDS MySQL實例可用存儲空間大小,方案默認為20GB。 | 20GB |
可用區 | 與ECS實例可用區保持一致。 | 可用區G |
白名單 | 允許訪問RDS實例的IP列表 | 只允許通過本方案中ECS實例內網IP和彈性公網IP訪問。IP由一鍵部署模板自動獲取,無需手動添加。 |
單擊一鍵部署進入ROS控制臺,在頂部選擇華東1(杭州)。
填寫模板參數:為方便體驗,您只需關注可用區、ECS實例密碼和RDS數據庫密碼三個參數的選擇,其它參數可使用方案默認值或按需選擇。
查看頁面右下角的資源價格,確認無誤后單擊創建。
等待資源棧創建,資源部署時間約為10分鐘,請耐心等候,直至資源棧狀態顯示為創建成功。
說明為節省成本,本方案默認選擇使用按量付費資源。使用按量付費資源需要確保賬戶余額不小于100元。
如果創建失敗,您可以選擇其他可用區后重試。
查看已部署的資源
在資源頁面,您可以查看上述步驟所生成的ECS實例、RDS實例、WordPress網站訪問地址等。
在
中單擊上一步創建的資源棧。在頂部單擊資源頁簽,可以查看已創建的資源及相關信息。
在頂部單擊輸出頁簽,可以查看輸出關鍵字列表,各關鍵字描述如下表所示。
參數值
說明
示例值
ECSWordPressUrl
WordPress訪問地址
系統自動生成
ECSInstanceUser
ECS實例登錄賬號和密碼
USERNAME: root
PASSWORD: 用戶自定義
WPUserForSQL
ECS自建MySQL數據庫賬號和密碼,該賬號用于數據庫SQL操作。
USERNAME: wordpressuser
PASSWORD: password
WPUserForDTS
ECS自建MySQL數據庫賬號和密碼,該賬號用于數據庫(源庫)在DTS中運行數據遷移任務。
USERNAME: dtssync1
PASSWORD: P@ssw0rd
RDSUserDTS
RDS數據庫高權限賬號和密碼,用于數據庫(目標庫)在DTS中運行數據遷移任務。
USERNAME: dbuser
PASSWORD: 用戶自定義
RDSInternalAddress
RDS實例內網連接地址,用于WordPress網站連接至RDS實例。
rm-bp*****.mysql.rds.aliyuncs.com
網站安裝及瀏覽
10
此時WordPress網站還不能訪問,您需要進入WordPress安裝頁面,完成WordPress安裝。
訪問資源編排管理控制臺,在資源棧列表中單擊剛創建的資源棧。
在資源棧頂部單擊輸出頁簽,并在輸出關鍵字列表中找到ECSWordPressUrl參數對應的值,單擊進入網站。
在WordPress安裝頁面,填寫網站相關信息,然后單擊Install WordPress。如下圖所示:
請記住設置的網站管理員用戶名和密碼,用于登錄網站管理頁面。
返回資源編排管理控制臺,在資源棧列表中單擊剛創建的資源棧。
單擊輸出頁簽中ECSWordPressUrl參數對應的值,即可進入網站瀏覽。
遷移數據庫
15
現在,您可以使用DTS數據傳輸服務,配置源庫和目標庫信息,開始遷移數據庫的庫表結構、全量數據和增量數據。
登錄DMS數據管理服務。
在頂部菜單欄選擇
。說明如果頂部沒有菜單,可以在右上角退出極簡模式。
單擊創建任務。
配置源庫及目標庫信息。
源庫
數據庫類型:MySQL
接入方式:ECS 自建數據庫
實例地區:本示例中選擇華東1(杭州)
是否跨阿里云賬號:不跨賬號
ECS實例ID:選擇網站所在的ECS實例。
端口:3306
數據庫賬號和密碼:輸入前面創建的自建數據庫賬號和密碼。本示例為
dtssync1
和P@ssw0rd
。連接方式:非加密連接
目標庫
數據庫類型:MySQL
接入方式:云實例
實例地區:本示例中選擇華東1(杭州)
是否跨阿里云賬號:不跨賬號
RDS實例ID:選擇前面創建的RDS實例。
數據庫賬號和密碼:輸入前面創建的RDS實例賬號和密碼。本示例為
dbuser
和您自定義的密碼。連接方式:非加密連接
單擊測試連接以進行下一步,系統會自動為ECS添加DTS安全組,為RDS添加DTS服務器IP至白名單,以允許DTS訪問ECS和RDS。如果有失敗信息,參考對應的錯誤提示進行修改即可。
配置遷移任務。
對象配置:
遷移類型勾選庫表結構遷移、全量遷移、增量遷移。
在源庫對象框中選擇要遷移的
wordpressdb
庫,再單擊將其移動至已選擇對象框,然后單擊下一步高級配置。
高級配置:默認配置項不作修改,單擊下一步數據校驗。
數據校驗:勾選全量校驗和增量校驗、結構校驗,然后單擊下一步保存任務并預檢查
預檢查通過率達到100%后,單擊下一步購買。選擇數據遷移實例的鏈路規格(本案例以small規格為例),閱讀并選中《數據傳輸(按量付費)服務條款》,單擊購買并啟動。
遷移任務正式開始。
單擊遷移任務ID可以查看具體進度。當您看到如下界面,表示存量數據已遷移完成,增量數據會實時同步。此時您可以進入下一步,驗證RDS里的數據。
方案驗證
10
登錄RDS實例
單擊資源棧頂部資源按鈕,然后單擊Database資源ID進入RDS控制臺,單擊登錄數據庫。
在彈出的DMS頁面中,填寫RDS高權限數據庫賬號和密碼,然后單擊登錄。
本示例中,RDS高權限數據庫賬號為
dbuser
,密碼為您自定義的密碼。如果報錯“您暫未獲取當前數據庫實例的登錄權限”,請單擊點此申請,并由主賬號完成審批。
全量數據驗證
在SQLConsole窗口,在左側雙擊目標數據庫名稱
wordpressdb
,可以看到自建數據庫所有庫、表數據已經完成遷移。說明如果找不到
wordpressdb
庫,請右鍵單擊RDS實例ID,選擇刷新/同步數據字典。
增量數據驗證
在SQLConsole窗口,雙擊
wp_comments
表名,再單擊執行,查看wp_comments
表的數據。前往資源編排管理控制臺,在資源棧列表中單擊之前創建的資源棧。
在資源棧頂部單擊輸出頁簽,并在輸出關鍵字列表中找到ECSWordPressUrl參數對應的值,單擊進入網站,往下瀏覽找到如下圖,點擊進入評論區。
在網站中新增一條評論或多條評論,如下圖
再次查看RDS實例中
wp_comments
表的數據,執行查詢語句可以看到增加的評論,說明增量數據已遷移成功。
從自建數據庫切換到RDS
為避免數據丟失,建議先停止寫入數據,然后再將應用程序的數據庫連接配置修改為云數據庫RDS的連接地址。
停止寫入數據到源數據庫。
修改WordPress配置文件中的數據庫連接配置。
在資源列表中單擊WebServer資源ID進入ECS控制臺,點擊遠程連接使用ECS賬戶登錄。本示例中,ECS賬號為
root
,密碼為用戶自定義密碼。說明如果提示用戶名或密碼不正確,可能是因為密碼錯誤或者操作系統未完全啟動,請確認輸入的用戶名和密碼,或者稍后再嘗試登錄。
打開配置文件。
sudo vim /usr/share/nginx/html/wp-config.php
按i進入插入模式。
修改數據庫連接配置:
修改數據庫賬號:將
wordpressuser
改為RDS高權限賬號dbuser
。修改數據庫密碼:將
password
修改為您自定義的密碼。修改數據庫連接地址:將
localhost
修改為RDS內網連接地址(可以直接復制資源棧輸出頁簽中RDSInternalAddress關鍵字對應的值)。
按Esc鍵退出插入模式.
輸入:wq,并按Enter鍵退出vim編輯器。
說明以上僅為本示例教程的切換步驟,關于生產環境的切換和回滾方案,請參見業務切換流程。
驗證切換后的服務可用性
返回資源編排管理控制臺,在資源棧列表中單擊剛創建的資源棧。
單擊輸出頁簽中ECSWordPressUrl參數對應的值,進入網站瀏覽,可觀察到網站與切換前保持一致。如下圖
在網站新增一條評論,再次查看RDS實例中
wp_comments
表的數據,執行查詢語句可以看到增加的評論。
清理資源
5
完成教程后,建議及時釋放不需要的資源,包括DTS數據遷移任務和ECS實例等。