友情提示:安裝MySQL軟件步驟本文暫不介紹,安裝完MySQL無需着急初始化數據庫和啓動服務。只需確保安裝的MySQL版本不低於阿里雲RDS MySQL版本,同時提早新建運行MySQL服務的mysql系統用戶。出於安全,部份內容已打馬賽克。採用何種模式作主從由RDS MySQL版本決定。本文主要使用RDS MySQL 5.6版做爲樣例說明,使用新的GTID模式作主從。5.5版配置主從更加簡單,前15步操做同樣,沒有1六、17步操做,18步使用binlog文件和位置的傳統模式作主從,修改對應SQL語句便可,這裏就很少加說明了。mysql
1.阿里雲使用了開源的Percona Xtrabackup工具對RDS MySQL作全量物理備份。使用阿里雲ECS自建從庫仍然須要使用該工具導入全量備份數據。爲了解決安裝時遇到的包依賴問題,推薦使用yum安裝Percona Xtrabackup,建議安裝最新版。sql
wget https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm rpm -ivh percona-release-0.1-4.noarch.rpm yum -y install percona-xtrabackup-24
2.登陸阿里雲管理控制檯,點擊左側邊欄的雲數據庫RDS版
,點擊管理
。數據庫
4.點擊複製內網地址
。若打算做爲從庫的ECS主機和RDS不在同一個區域則點擊複製外網地址
。
bash
5.登陸ECS下載備份,備份地址URL含有特殊關鍵字符,直接使用wget工具下載報403錯誤,須要使用英文單引號括起來。若備份較大可使用screen工具後臺運行下載任務。app
wget -c '備份地址URL' -O full.tar.gz
6.下載阿里備份專屬解壓腳本。ide
wget 'http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.775973700.0.0.n9b8wj&file=rds_backup_extract.sh' -O rds_backup_extract.sh
7.解壓備份至指定目錄。工具
bash rds_backup_extract.sh -f full.tar.gz -C 目錄
8.應用日誌,目錄爲第7步指定目錄,當運行結果最後一行顯示completed OK!
,則代表操做成功。阿里雲
innobackupex --apply-log 目錄
9.將解壓文件backup-my.cnf
全部內容添加至對應MySQL配置文件my.cnf
中,若配置衝突,使用backup-my.cnf
內容替換my.cnf
同名參數值。目錄爲第7步指定目錄。spa
cat 目錄/backup-my.cnf
10.拷貝或移動完成應用日誌操做的已解壓備份至MySQL數據目錄,需my.cnf
添加datadir
參數指定,--copy-back
參數爲拷貝,--move-back
參數爲移動。目錄爲第7步指定目錄,若第7部指定的目錄即爲MySQL數據目錄,則無需此步操做。
innobackupex --defaults-file=/etc/my.cnf --move-back 目錄
11.修改MySQL數據目錄權限並啓動MySQL。
chown -R mysql:mysql 數據目錄 /etc/init.d/mysqld start
12.登陸阿里雲管理控制檯,點擊帳號管理
,然後點擊頁面中的建立帳號
。
13.按照提示填寫相關內容,複製帳號只需只讀權限便可,填寫完後,點擊肯定
按鈕。
14.點擊數據安全性
,選擇修改
。
15.添加ECS從機的IP地址至組內白名單
,IP地址使用英文逗號分隔。
16.登陸MySQL終端,清理複製關係表數據。
RESET MASTER; RESET SLAVE; TRUNCATE TABLE mysql.slave_relay_log_info; TRUNCATE TABLE mysql.slave_master_info; TRUNCATE TABLE mysql.slave_worker_info;
17.從庫配置文件my.cnf
添加如下內容或者替換已有參數後重啓。/etc/init.d/mysqld restart
重啓服務開啓GTID模式。
master-info-repository=file relay-log-info_repository=file binlog-format=ROW gtid-mode=on enforce-gtid-consistency=true
18.讀取第7步指定目錄下的xtrabackup_slave_info
文件內容,文件一、2行依次對應如下4行SQL語句中的第二、3行,文件第1行無需修改,原樣執行。文件第2行,添加內容修改成第3行SQL語句樣式。登陸MySQL終端依次執行SQL語句。
STOP SLAVE; SET GLOBAL gtid_purged='49dde677-5827-11e5-8c5c-288023a0e898:1-21409262, 59bc2959-5827-11e5-8c5c-288023a0e9ac:1-8910790'; CHANGE MASTER TO MASTER_HOST='RDS訪問地址', MASTER_PORT=3306, MASTER_USER='複製帳號', MASTER_PASSWORD='密碼', MASTER_AUTO_POSITION=1; START SLAVE;
19.MySQL終端查詢主從複製狀態。
SHOW SLAVE STATUS \G
若Slave_IO_Running
和Slave_SQL_Running
兩行值都爲Yes
則代表主從複製狀態正常。