使用 RDS 配置到自建數據庫的主從複製

配置主實例

  1. 登錄 RDS 控制檯,選擇目標實例。
  2. 配置從實例讀取數據使用的只讀賬號和授權數據庫。
  3. 將從實例的 IP 地址加入主實例的 IP 白名單中。
  4. 查詢主實例的 server-id。show variables like '%server_id%';

配置從實例

  1. 安裝 MySQL 從實例。
  2. 停止從實例 mysql 服務。service mysql stop
  3. 修改從實例 mysql 配置文件。vim /etc/my.cnf
    (1)、配置從實例的 server-id 和要同步的數據庫。
server-id               =  123456789              //服務 ID,主從實例 server-id 需不同。
log_bin                 =  /var/log/mysql/mysql-bin.log
expire_logs_days        =  10
max_binlog_size         =  100M
replicate-do-db         =  exampledb                //需要同步的數據庫
replicate-ignore-db     =  mysql                  //不需要同步的數據庫
replicate-ignore-db     =  information_schema     //不需要同步的數據庫
replicate-ignore-db     =  performance_schema     //不需要同步的數據庫

(2)、配置 GTID 同步模式,binlog 格式爲 row,以兼容主實例。

#GTID
gtid_mode=on
enforce_gtid_consistency=on
binlog_format=row                             //設置 binlog 爲 row
log-slave-updates=1

執行如下命令,查看 binlog 配置結果。

show variables like '%binlog_format%';

(3)、將主實例數據全量導出。

mysqldump -h RDS數據庫ip -P RDS數據庫端口 -u RDS數據庫賬號 -p RDS數據庫密碼 數據庫名 > 導出的文件名.sql 

(4)、將主實例數據全量導入從庫實例。

//創建從實例的數據庫
CREATE DATABASE 數據庫名;
//進入從實例數據庫
use 數據庫名;
//導入sql文件
source 導出的文件名.sql

(5)、登錄從實例數據庫,設置同步選項。

change master to master_host='192.168.0.104', //Master 服務器Ip
master_port=3306,
master_user='repl',
master_password='mysql', 
master_log_file='master-bin.000001',//Master服務器產生的日誌
master_log_pos=0;

(6)、啓動Slave

start slave;

(7)、檢查同步結果。

show slave statue\G

查看系統返回信息中 Slave_IO_Running 和 Slave_SQL_Running 的狀態是否爲 Yes。

其他相關命令

//進入 MySQL 命令行
mysql -uroot -p
//使用service 啓動
service mysqld start
//使用service 關閉
service mysqld stop
//使用service 重啓
service mysqld restart
//使用service 查看啓動狀態
service mysqld status
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章