配置ECS上自建MySQL作为RDS从库过程中踩到的坑

环境:

,RDS版本:阿里云的

5.6,ECS自建MySQL5.6.34(官方版本)


通过将阿里云rds的自动全量备份下载到ECS上,按照官方的步骤解压——比;aploy-log——→mv到mysql的datadir并启动mysql。


然后执行

重置奴隶;

重置主宰;


修改主master_host=' rm-xxxxxxxxx.mysql.rds.aliyuncs.com ',

master_user=rpl,,

master_password=' 123456 ',,

MASTER_PORT=3306,,

MASTER_AUTO_POSITION=1;,

这里就报错了。错误日志提示:



原因:

,阿里云的RDS是做个修改的版本,和官方部分表结构的不一样。(目前发现的有mysql库下面的slave_master_info, slave_relay_log_info, slave_worker_info,其他的表还没仔细关注)

配置ECS上自建mysql作为RDS从库过程中踩到的坑



解决方法:

使用mysql;

删除表slave_master_info;

删除表slave_relay_log_info;

删除表slave_worker_info;

然后参照其他MySQL5.6的机器,重新建这3张表。


完成后,再按照常规的GTID复制的从库搭建步骤操作:

修改主master_host=' rm-xxxxxxxxxxx.mysql.rds.aliyuncs.com ',

master_user=rpl,,

master_password=rpl,,

MASTER_PORT=3306,,

MASTER_AUTO_POSITION=1;,


设置全球gtid_purged=癰9f0343a - 3 - ac4 - 11 - e7 - 9769 - 008 - cfaf59624:1 - 6751, d50b0441 - 3 - ac4 - 11 - e7 - 976 - 7 - cd30ac47780:1 - 106693”,


开始药膏;

这样就可以自动开始同步数据了。




配置ECS上自建MySQL作为RDS从库过程中踩到的坑