使用 RDS 配置到自建数据库的主从复制
配置主实例
- 登录 RDS 控制台,选择目标实例。
- 配置从实例读取数据使用的只读账号和授权数据库。
- 将从实例的 IP 地址加入主实例的 IP 白名单中。
- 查询主实例的 server-id。show variables like %server_id%;
配置从实例
- 安装 MySQL 从实例。
- 停止从实例 mysql 服务。service mysql stop
- 修改从实例 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 statueG
查看系统返回信息中 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
下一篇:
利用VS2008生成数据库连接字串