cvm 和 mysql_腾讯云数据库备用-基于GTID复制的mysql作为CDB的从库

原因:腾讯云数据丢失,但是又有业务在腾讯云上,所以需要对数据库进行备份(自建从库,腾讯云的说法),做腾讯云数据库的从库

基于mysql 5.7实现.

1、首先用户通过在控制台创建一个用于复制的账户wjqrepl;

2、给wjqrepl用户赋予相应的权限

需要进入数据库命令行中,

grant replication slave on *.* to 'xxxxx'@'%' identified by '1234567';

flush privileges;

3、导出云数据库中的业务库数据

4、确认自建从库是否开启GTID

show variables like '%gtid%' 查看gtid_mode 的value是否为on

如果没有,则修改my.cnf 在[mysqld]中增加如下内容:

gtid-mode=on

enforce-gtid-consistency=on

5、将上述导出的备份文件导入到自建的mysql数据库中;

带有 GTID 信息的备份 文件, 要求目标数据库实例必须开启 GTID 功能, 且当前数据库中无其他 GTID 信息. 如果目标数据库中已经记录了一条或一条以上的 GTID 信息, 那么在导入数据库时会上面类似的错误;

解决方法:

1、重新 dump 数据库, 使用--set-gtid-purged=OFF的参数禁止;

2、在目标数据库中执行 reset slave all;和 reset master;清空所有 GTID 信息之后就可以导入了;

6、在CVM自建mysql数据库配置主从同步关系,并启动slave;

change master to master_host='bj-cdb-d8xcsyv6..com', master_user='re49pl', master_port=63021, master_password='re43sswo@', master_auto_position=1;

7, 出现“The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.”

1、这个应该是由于你在主库上执行过purge binary logs,然后当从库change master的时候,却要执行那些事务。

你可以在主库上先查找哪些gtid被purge了。

show global variables like 'gtid_purged';

然后拿着这个value,去从库上依次

stop slave;

set global gtid_purged = '8170836d-8e48-11e0c29b48f84:1-2'; # xxx是你主库上查到的value。 如果有多个,就一起写在后面,用,隔开

start slave;

这样能跳过执行被主库已经purge的事务了。

附一张从腾讯云文档的截图比较清楚

90c16652202735087b2d06fc5fe73be1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值