天天看點

使用阿裡雲ECS自建RDS MySQL從庫

友情提示:安裝MySQL軟體步驟本文暫不介紹,安裝完MySQL無需着急初始化資料庫和啟動服務。隻需確定安裝的MySQL版本不低于阿裡雲RDS MySQL版本,同時提前建立運作MySQL服務的mysql系統使用者。出于安全,部分内容已打馬賽克。采用何種模式做主從由RDS MySQL版本決定。本文主要使用RDS MySQL 5.6版作為樣例說明,使用新的GTID模式做主從。5.5版配置主從更加簡單,前15步操作一樣,沒有16、17步操作,18步使用binlog檔案和位置的傳統模式做主從,修改對應SQL語句即可,這裡就不多加說明了。

1.阿裡雲使用了開源的Percona Xtrabackup工具對RDS MySQL做全量實體備份。使用

阿裡雲ECS自建 從庫仍然需要使用該工具導入全量備份資料。為了解決安裝時遇到的包依賴問題,推薦使用yum安裝Percona Xtrabackup,建議安裝最新版。

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版

,點選管理。

使用阿裡雲ECS自建RDS MySQL從庫

3.點選備份恢複,而後點選下載下傳。

使用阿裡雲ECS自建RDS MySQL從庫

4.點選複制内網位址。若打算作為從庫的ECS主機和RDS不在同一個區域則點選複制外網位址。

使用阿裡雲ECS自建RDS MySQL從庫

5.登入ECS下載下傳備份,備份位址URL含有特殊關鍵字元,直接使用wget工具下載下傳報403錯誤,需要使用英文單引号括起來。若備份較大可以使用screen工具背景運作下載下傳任務。

wget -c '備份位址URL' -O full.tar.gz           

6.下載下傳阿裡備份專屬解壓腳本。

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步指定目錄。

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.登入阿裡雲管理控制台,

點選賬号管理

,而後點選頁面中的建立賬号。

使用阿裡雲ECS自建RDS MySQL從庫

13.按照提示填寫相關内容,複制賬号隻需隻讀權限即可,填寫完後,點選确定按鈕。

使用阿裡雲ECS自建RDS MySQL從庫

14.點選資料安全性,選擇修改。

使用阿裡雲ECS自建RDS MySQL從庫

15.

添加ECS

從機的IP位址至組内白名單,IP位址使用英文逗号分隔。

使用阿裡雲ECS自建RDS MySQL從庫

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檔案内容,檔案1、2行依次對應以下4行SQL語句中的第2、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則表明主從複制狀态正常。

選擇伺服器錢大家可以

提前領取優惠劵