mysql主从复制(同步阿里云的RDS至自建数据库)

从库同步阿里云的RDS

阿里云默认开启了binglog,所以我们无需对主库进行配置

查询主库的server_id,从库配置不要重复就行

show variables like '%server_id%';

编辑从库的my.cnf文件

在文件中增加如下配置

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 //不需要同步的数据库

GTID

gtid_mode=on

enforce_gtid_consistency=on

binlog_format=row //设置 binlog 为 row

log-slave-updates=1

设置同步选项

change master to master_host='rm-xxx.mysql.rds.aliyuncs.com', master_user='xxx', master_password='xxxx', master_port=3306, master_log_file='mysql-bin.000637', master_log_pos= 6433378, master_connect_retry=30;

其中的master_log_file和master_log_file通过在master上执行show master status;获得

但是需要注意如果主库数据有变更,这两个值可能会一直有变动,可以先执行如下命令锁表

锁表

flush tables with read lock;

解锁

unlock tables

启动从实例

start slave;

检查同步结果

show slave status\G

查看系统返回信息中 Slave_IO_Running 和 Slave_SQL_Running 的状态是否为 Yes,如下所示。

参考

https://developer.aliyun.com/article/66087

相关推荐
SamDeepThinking21 小时前
在 MySQL 里,不建议使用长事务的根因
后端·mysql
蒋士峰DBA修行之路21 小时前
实验二十六 GaussDB参数调优
数据库·oracle·gaussdb
q***37521 小时前
MySQL输入密码后闪退?
数据库·mysql·adb
张人玉21 小时前
SQLite 快速入门 Cheat Sheet
数据库·sql·sqlite
杨DaB21 小时前
【MySQL】03 数据库的CRUD
数据库·mysql·adb
DarkAthena21 小时前
【DuckDB】活用marco以兼容GaussDB的SQL执行
数据库·sql·duckdb
沐浴露z21 小时前
一张思维导图理清【Redis】
数据库·redis·缓存
q***333721 小时前
mysql查看binlog日志
数据库·mysql
q***518921 小时前
MYSQL批量UPDATE的两种方式
数据库·mysql
x***010621 小时前
SQL 注入漏洞原理以及修复方法
网络·数据库·sql