使用阿里云ECS自建RDS MySQL從庫

來源: 51CTO
作者:dongsong1117
時間:2021-04-09
18400
安裝MySQL軟件步驟本文暫不介紹,安裝完MySQL無需著急初始化數據庫和啟動服務。只需確保安裝的MySQL版本不低于阿里云RDS MySQL版本,同時提前新建運行MySQL服務的mysql系統(tǒng)用戶。出于安全,部分內容已打馬賽克。采用何種模式做主從由RDS MySQL版本決定。本文主要使用RDS MySQL 5.6版作為樣例說明,使用新的GTID模式做主從。

友情提示:安裝MySQL軟件步驟本文暫不介紹,安裝完MySQL無需著急初始化數據庫和啟動服務。只需確保安裝的MySQL版本不低于阿里云RDS MySQL版本,同時提前新建運行MySQL服務的mysql系統(tǒng)用戶。出于安全,部分內容已打馬賽克。采用何種模式做主從由RDS MySQL版本決定。本文主要使用RDS MySQL 5.6版作為樣例說明,使用新的GTID模式做主從。5.5版配置主從更加簡單,前15步操作一樣,沒有16、17步操作,18步使用binlog文件和位置的傳統(tǒng)模式做主從,修改對應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版,點擊管理。

wKioL1d1yBPy50Z7AALg-eYXCN8930.png

3.點選備份恢復,而后點擊下載。 
wKiom1d1yCjQTe4dAAPy5R0g5nw097.png

4.點擊復制內網地址。若打算作為從庫的ECS主機和RDS不在同一個區(qū)域則點擊復制外網地址。 
wKioL1d1yDyR09BvAAGtElfWzP4307.png

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.登錄阿里云管理控制臺,點擊賬號管理,而后點擊頁面中的創(chuàng)建賬號。 
wKiom1d1yFbj_63vAAMo-3_uHHs491.png

13.按照提示填寫相關內容,復制賬號只需只讀權限即可,填寫完后,點擊確定按鈕。

14.點擊數據安全性,選擇修改。 

wKioL1d1yTCz92nyAAIjD9fJDHc658.png

15.添加ECS從機的IP地址至組內白名單,IP地址使用英文逗號分隔。 
wKiom1d1yUCCO9y0AADg7Ck67dI653.png

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行無需修改,原樣執(zhí)行。文件第2行,添加內容修改為第3行SQL語句樣式。登錄MySQL終端依次執(zhí)行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終端查詢主從復制狀態(tài)。

SHOW SLAVE STATUS \G

若Slave_IO_Running和Slave_SQL_Running兩行值都為Yes則表明主從復制狀態(tài)正常。

立即登錄,閱讀全文
版權說明:
本文內容來自于51CTO,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家