一种MySQL与openGauss双向数据实时同步的方法技术

技术编号:39195859 阅读:13 留言:0更新日期:2023-10-27 08:42
本发明专利技术涉及一种MySQL与openGauss双向数据实时同步的方法。本方法包括MySQL端通过binlog采集到MySQL的变更事务,判断该事务中是否含有标记,含有标记的事务丢弃,不含有标记的事务发送给openGauss应用端,拼接标记后写入到openGauss中;openGauss端通过decoderbufs采集openGauss的变更事务,判断该事务中是否含有标记,含有标记的事务丢弃,不含有标记的事务发送给MySQL应用端,拼接标记后写入到MySQL中。本发明专利技术方法能够在新库验证阶段确保MySQL与openGauss上的应用数据能够相互同步,有效保证了用户的数据安全。有效保证了用户的数据安全。有效保证了用户的数据安全。

【技术实现步骤摘要】
一种MySQL与openGauss双向数据实时同步的方法


[0001]本专利技术属于数据实时同步方法
,尤其涉及一种MySQL与openGauss双向数据实时同步的方法。

技术介绍

[0002]用户在使用openGauss数据库替换MySQL数据库时,迁移数据后,应用也会在openGauss数据库上运行;用户在验证新库是否完全符合应用要求前,备份应用还会继续在MySQL上运行。此时,就需要一定的方法确保MySQL与openGauss上的应用数据能够相互同步。

技术实现思路

[0003]为了能够在新库验证阶段确保MySQL与openGauss上的应用数据能够相互同步,本专利技术提供了一种新的基于MySQL Binlog和PostgreSQL Decoderbufs实现MySQL与openGauss数据库之间双向数据实时同步的方案。
[0004]本专利技术方法的整体构思如下:
[0005]MySQL端通过binlog采集到MySQL的变更事务,判断该事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给openGauss应用端,拼接标记后写入到openGauss中;
[0006]openGauss端通过decoderbufs采集openGauss的变更事务,判断该事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给MySQL应用端,拼接标记后写入到MySQL中。
[0007]具体地,本专利技术提供了一种MySQL与openGauss双向数据实时同步的方法,本方法包括:
[0008]步骤一,MySQL端通过binlog采集到MySQL的变更事务,判断该变更事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给openGauss应用端,拼接标记后写入到openGauss中;
[0009]步骤二,openGauss端通过decoderbufs采集openGauss的变更事务,判断该变更事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给MySQL应用端,拼接标记后写入到MySQL中。
[0010]进一步地,本专利技术MySQL与openGauss双向数据实时同步的方法步骤一中包括:
[0011]S1.配置MySQL Binlog服务;
[0012]S2.连接到MySQL数据库,在需要同步的schema下创建mark_down标记表;
[0013]S3.java程序连接到Binlog,采集MySQL数据库的变更事务sql;
[0014]S4.判断变更事务sql中是否包含mark_down标记,如果是,则丢弃该采集记录,如果否,则把该采集记录发送给openGauss应用端;
[0015]S5.openGauss应用端接收到变更记录后,在每条记录前拼接一条mark_down标记,
然后将其写入到openGauss库中。
[0016]进一步地,上述MySQL与openGauss双向数据实时同步的方法步骤S1中所述配置MySQL Binlog服务,包括:
[0017]S11.调整MySQL的数据库权限;
[0018]S12.在MySQL的配置文件my.cnf中配置参数;
[0019]S13.使用service MySQL restart命令重启数据库。
[0020]进一步地,上述MySQL与openGauss双向数据实时同步的方法步骤S11中所述调整MySQL的数据库权限,所述MySQL的数据库权限包括:REPLICATION SLAVE、REPLICATION CLIENT、SELECT、INSERT、UPDATE、DELETE。
[0021]进一步地,上述MySQL与openGauss双向数据实时同步的方法步骤S12中所述在MySQL的配置文件my.cnf中配置参数包括配置log

bin选项,即设置binlog日志目录;所述log

bin可直接取值为mysql

bin,即表示其位置在/var/lib/mysql/目录下,也可设置为绝对路径。
[0022]进一步地,本专利技术MySQL与openGauss双向数据实时同步的方法步骤二中包括:
[0023]S101.openGauss配置decoderbufs服务;
[0024]S102.连接到openGauss数据库,在需要同步的schema下创建mark_down标记表;
[0025]S103.java程序连接到decoderbufs,采集openGauss数据库的变更事务sql;
[0026]S104.判断变更事务sql中是否包含mark_down标记,如果是,则丢弃该采集记录,如果否,则把该采集记录发送给MySQL应用端;
[0027]S105.MySQL应用端接收到变更记录后,在每条记录前拼接一条mark_down标记,然后将其写入到MySQL库中。
[0028]进一步地,上述MySQL与openGauss双向数据实时同步的方法步骤S101中所述openGauss配置decoderbufs服务,包括:
[0029]S1011.修改配置文件postgresql.conf,wal_level改为logical,shared_preload_libraries选项添加decoderbufs;
[0030]S1012.根据需要调整max_wal_senders和max_replication_slots的数量;
[0031]S1013.重启openGauss数据库。
[0032]另外,本专利技术还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述的MySQL与openGauss双向数据实时同步的方法的步骤。
[0033]综上,本专利技术MySQL与openGauss双向数据实时同步的方法能够在新库验证阶段确保MySQL与openGauss上的应用数据能够相互同步,有效保证了用户的数据安全。
附图说明
[0034]为了更清楚地说明本专利技术实施例的技术方案,下面对本专利技术实施例中需要使用的附图作简要介绍,显而易见地,下述附图仅是本专利技术中记载的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术方法的整体实施流程框图。
[0036]图2为根据本专利技术一种实施例的从MySQL端出发实现数据实时同步的处理流程图。
[0037]图3为根据本专利技术一种实施例的从openGauss端出发实现数据实时同步的处理流程图。
具体实施方式
[0038]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本专利技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MySQL与openGauss双向数据实时同步的方法,其特征在于,所述方法包括:步骤一,MySQL端通过binlog采集到MySQL的变更事务,判断该变更事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给openGauss应用端,拼接标记后写入到openGauss中;步骤二,openGauss端通过decoderbufs采集openGauss的变更事务,判断该变更事务中是否含有标记,含有标记的变更事务丢弃,不含有标记的变更事务发送给MySQL应用端,拼接标记后写入到MySQL中。2.根据权利要求1所述的MySQL与openGauss双向数据实时同步的方法,其特征在于,步骤一中包括:S1.配置MySQL Binlog服务;S2.连接到MySQL数据库,在需要同步的schema下创建mark_down标记表;S3.java程序连接到Binlog,采集MySQL数据库的变更事务sql;S4.判断变更事务sql中是否包含mark_down标记,如果是,则丢弃该采集记录,如果否,则把该采集记录发送给openGauss应用端;S5.openGauss应用端接收到变更记录后,在每条记录前拼接一条mark_down标记,然后将其写入到openGauss库中。3.根据权利要求2所述的MySQL与openGauss双向数据实时同步的方法,其特征在于,步骤S1中所述配置MySQL Binlog服务,包括:S11.调整MySQL的数据库权限;S12.在MySQL的配置文件my.cnf中配置参数;S13.使用service MySQL restart命令重启数据库。4.根据权利要求3所述的MySQL与openGauss双向数据实时同步的方法,其特征在于,步骤S11中所述调整MySQL的数据库权限,所述MySQL的数据库权限包括:REPLICATION SLAVE、REPLICATION CLIENT、SELECT、INSERT、UPDATE、DELETE。5.根据权利要求3所述的M...

【专利技术属性】
技术研发人员:祝建华苏章艳
申请(专利权)人:北京海量数据技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1