使用RDS服務的slave轉成EC2
但在RDS中 我們所使用的root並不是最高權限
無法使用stop slave;


AWS官方提到有另外一個語法

mysql> CALL mysql.rds_stop_replication;

確認並記錄目前的主從進度(最後會使用到)

show slave status\G;

RDS的mysql 裡面有多這七張表是mysql預設沒有的

rds_configuration
rds_global_status_history
rds_global_status_history_old
rds_heartbeat2
rds_history
rds_replication_status
rds_sysinfo

因此要先將這七張特殊表dump出來

mysqldump -uroot -p -hRDS-master連結位置 mysql rds_configuration rds_global_status_history rds_global_status_history_old rds_heartbeat2 rds_history rds_replication_status rds_sysinfo > /root/RDS-mysql.sql

再dump出 排除系統庫四個系統庫的所有資料

mysql -e "show databases;" -uroot -p -hRDS-master連結位置| grep -Ev "Database|information_schema|innodb|performance_schema|mysql" | xargs mysqldump -uroot -p -hRDS-master連結位置 --databases > /root/RDS.sql

再將sql 倒進EC2 安裝的mysql裡

mysql -uroot -p mysql < /root/RDS-mysql.sql
mysql -uroot -p < /root/RDS.sql

指進度即完成主從

CHANGE MASTER TO MASTER_HOST='RDS-master連結位置', MASTER_USER='主從帳號', MASTER_PASSWORD='主從密碼'; <----跟隨RDS-master
CHANGE MASTER TO MASTER_LOG_FILE = 'bin-log檔名',MASTER_LOG_POS =進度;
start slave;
show slave status\G;

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料