腾讯云数据库备用-基于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=‘[email protected]‘, 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的事务了。

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

原文地址:http://blog.51cto.com/9393764/2164902

时间: 2024-10-02 23:40:23

腾讯云数据库备用-基于GTID复制的mysql作为CDB的从库的相关文章

腾讯云数据库团队:浅谈如何对MySQL内核进行深度优化

作者介绍:简怀兵,腾讯云数据库团队高级工程师,负责腾讯云CDB内核及基础设施建设:先后供职于Thomson Reuters和YY等公司,PTimeDB作者,曾获一项发明专利:从事MySQL内核开发工作8年,具有丰富的优化经验:在分布式存储等领域有较丰富经验. MYSQL数据库适用场景广泛,相较于Oracle.DB2性价比更高,Web网站.日志系统.数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务型).存在多个分支.读写效

腾讯云数据库团队:MySQL数据库的高可用性分析

作者介绍:易固武,腾讯高级工程师,参与腾讯账号安全建设,腾讯数据仓库(TDW)优化改造,腾讯云数据库等项目,对大规模分布式存储和计算系统有浓厚的兴趣和经历 MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中.存储数据的安全性和可靠性是生产数据库的关注重点.本文分析了目前采用较多的保障MySQL可用性方案. MySQL Replication MySQL Replication是MySQL官方提供的主从同步方案,用于将一个MySQL实例的数据,同步到另一个

突破、进化,腾讯云数据库2018全年盘点

在企业上云逐渐加速的背景下,云数据库作为企业重要的IT基础设施,其重要性毋庸置疑.各大云计算厂商不惜重金,纷纷在产品和技术层面加大布局,争夺这一重要的云服务市场.纵观国内前几大云服务商过去一年的云数据库领域的发展,腾讯云基于自身强大的业务支撑以及技术研发实力,在云数据库市场的突破格外引人注目. 具体来说,针对存量市场,2018年下半年,腾讯云重磅推出云原生数据库CynosDB,该款数据库的单节点读性能达到惊人的130万QPS,超过业内目前最高100万QPS水平,而价格只是市面上商业数据库的1/1

MySQL之父造访腾讯云 为腾讯云数据库开源点赞

近日,技术大牛 MariaDB 公司创始人兼CTO Michael Widenius(又名Monty).MariaDB 基金会主席 Kaj 来到中国,针对MariaDB与腾讯云的技术合作进行回访.去年底,腾讯云与MariaDB基金会达成战略合作,腾讯云承诺为基金会的发展提供强有力的资源支持,共建全球开源生态圈. 这次会见,腾讯云与MariaDB就未来的双向合作达成一致.后续,在不涉及腾讯云核心代码的前提下,腾讯云将优先提交代码给MariaDB 基金会, 双方共享使用权.同时,MariaDB也将积

成功入选“实力竞争者”,腾讯云数据库再获国际权威机构认可

近日,国际领先的行业研究与咨询机构Forrester正式对外发布全球最新的数据库评估报告<The Forrester Wave™: Database-As-A-Service, Q2 2019>,腾讯云数据库(TencentDB)凭借优异的产品性能以及敏捷.灵活的部署能力,首度成功入选Forrester数据库厂商“实力竞争者” 领域. 9项指标获评“优秀” Forrester是一家被全球认可的可信赖的市场研究与咨询公司.此次,Forrester通过对数据库厂商的产品矩阵.战略和市场表现三大维度

深入MySQL复制(二):基于GTID复制

相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html 1.gtid基本概念 传统的基于binlog position复制的方式有个严重的缺点:如果slave连接master时指定的binlog文件错误或者position错误,会造成遗漏或者重复,很多时候前后数据是有依赖性的,这样就会出错而导

MySQL 5.7基于GTID复制的常见问题和修复步骤(二)

[问题二] 有一个集群(MySQL5.7.23)切换后复制slave报1236,其实是不小心在slave上执行了事务导致 Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containin

腾讯云数据库团队:MySQL语句复制(SBR)的缺陷列举

作者介绍: 赵伟 腾讯云TDSQL数据库开发者 MySQL (这里的MySQL是指广义的mysql,包括oracle,mysql,percona,mariadb等)的Statement Based Replication (SBR)是一个暗坑无数的功能,可能导致主备机数据不一致,以及其它问题,所以在TDSQL中我们使用RBR.这里就列举几条SBR的坑. 在此之前,先说说SBR的有点.与Row based Replication (RBR)相比,它可以避免传输大量的binlog日志从而减小网络和存

腾讯云数据库团队:MySQL5.7 JSON实现简介

作者介绍:吴双桥 腾讯云工程师 阅读原文,更多技术干货,请访问腾云阁. 本文主要介绍在MySQL 5.7.7开始引入的非结构化数据类型JSON的特性以及具体的实现方式(包括存储方式).首先介绍为什么要引入JSON的原生数据类型的支持:接着介绍MySQL给用户提供的JSON操作函数,以及JSON路径表达式语法,结合两者,用户可以在数据库级别操作JSON的任意键值和数据:之后,重点介绍JSON在服务器侧的存储结构,这也是深入理解很多其他JSON特性的根基:在最后介绍JSON作为新数据类型的比较与排序