欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysqldump 远程同步阿里RDS数据

程序员文章站 2022-04-09 20:42:29
...

数据迁移

同步起始,需要将rds的初始数据迁移到本地数据库
可以通过在本地服务器执行以下命令

[aaa@qq.com ~]# mysqldump -v -h [阿里RDS外网地址] -u[阿里RDS用户名] -p[阿里RDS用户密码] --single-transaction --set-gtid-purged=off [数据库名称] |mysql -uroot -p[本地数据库root用户密码] [数据库名称]

注意:阿里的RDS的白名单得将本地的ip加进去,–single-transaction表示不锁表,在备份过程中依然可以读写 ,-v是添加输出,可以看到执行到哪个表了
效果如下:
mysqldump 远程同步阿里RDS数据

数据同步

上面的执行完成后,也就可以同步了,不过在同步前需要修改mysql的配置文件my.cnf,在[mysqld]下添加以下配置

# 打开gtid,一般rds是打开的,所有同步需要打开备机的gtid
gtid-mode=on    
enforce-gtid-consistency=1
log-slave-updates=1
log-bin=mysql-bin
binlog-format=ROW
server_id=2
# 过滤mysql、information_schema、performance_schema以及sys的数据库变更
#因为rds是线上环境,会有心跳包,而本地不需要,所以以下库会出现变更,而rds的以下数据库和我们本地的以下数据库并不是完全一样,所以就会报错
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%
replicate-wild-ignore-table=sys.%

配置完成后,重启就mysql
重启完成后,进入sql运行

change master to MASTER_HOST='RDS外网地址',
MASTER_USER='RDS数据库用户名',
MASTER_PASSWORD='RDS数据库用户密码';

然后运行start slave;
这时候运行show slave status\G;以下Slave_IO_Running和Slave_SQL_Running都为Yes则代表同步成功了
mysqldump 远程同步阿里RDS数据

相关标签: 容灾备份