一种基于二进制日志解析的MySQL数据库增量同步实现方法技术

技术编号:23497918 阅读:37 留言:0更新日期:2020-03-13 13:05
本发明专利技术公开了一种基于二进制日志解析的MySQL数据库增量同步实现方法,属于数据库数据采集技术领域。本发明专利技术的基于二进制日志解析的MySQL数据库增量同步实现方法,该方法通过读取、解析MySQL的二进制日志文件,获取、恢复MySQL数据库源库的增量数据,将解析后的增量数据以字符串形式暂存到CMSP消息队列中,借助CMSP的加密压缩传输,解析入库端的CMSP传输的加密压缩传输的消息队列,实现MySQL数据库从源库到MySQL数据库目标库的数据同步。该发明专利技术的基于二进制日志解析的MySQL数据库增量同步实现方法高效安全,能够实现数据库有无主键的数据增删改增量同步,具有很好的推广应用价值。

An incremental synchronization method of MySQL database based on binary log parsing

【技术实现步骤摘要】
一种基于二进制日志解析的MySQL数据库增量同步实现方法
本专利技术涉及数据库数据采集
,具体提供一种基于二进制日志解析的MySQL数据库增量同步实现方法。
技术介绍
随着信息时代的飞速发展,大数据、人工智能的兴起,数据作为一种资源,越来越被一些企业、单位重视,数据产出的经济和社会价值也越来越明显。当今社会,企业数据越来越庞大、复杂,呈现数据量巨大、数据种类繁多包括结构化数据和非结构化数据、数据存放单一等特点,这势必给数据带来安全和不可靠的隐患,因此数据的同步和备份显得越来越重要。MySQL数据库常用的同步方式有以下几种:1)触发器方式触发器方式是较为普遍存在的一种同步方式,SQL触发器是存储在数据库目录中的一组SQL语句,该方式根据抽取的要求在源表建立插入、更新、删除三种触发器,每当源表发生变化时,就会由相应的触发器将变化数据写入到增量日志表。该方法对更新、删除操作时,需要支持原表中存在主键字段,否则无法实现对应记录的更新、删除操作。2)时间戳方式时间戳方式是指增量抽取时,抽取进程通过比较本文档来自技高网...

【技术保护点】
1.一种基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:该方法通过读取、解析MySQL的二进制日志文件,获取、恢复MySQL数据库源库的增量数据,将解析后的增量数据以字符串形式暂存到CMSP消息队列中,借助CMSP的加密压缩传输,解析入库端的CMSP传输的加密压缩传输的消息队列,实现MySQL数据库从源库到MySQL数据库目标库的数据同步。/n

【技术特征摘要】
1.一种基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:该方法通过读取、解析MySQL的二进制日志文件,获取、恢复MySQL数据库源库的增量数据,将解析后的增量数据以字符串形式暂存到CMSP消息队列中,借助CMSP的加密压缩传输,解析入库端的CMSP传输的加密压缩传输的消息队列,实现MySQL数据库从源库到MySQL数据库目标库的数据同步。


2.根据权利要求1所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:MySQL的二进制日志文件以事件形式记录对数据库表的操作,并为每个已提交的事件类型分配唯一的日志名log_name和日志位置log_pos,日志位置log_pos作为对数据库进行新增、更新、删除增量操作的解析的标记点;
当增量采集开始时记录一个起始的增量点即日志名log_name和日志位置log_pos,以该增量点为起点进行数据事件类型的解析,当解析表为配置表,同时存在新增、更新、删除事件时,对事件内容进行按行解析,查询增量结束时会记录一个结束的日志名log_name和日志位置log_pos;
下次查询增量时,用上一次结束的日志名log_name和日志位置log_pos作为起始日志名log_name和日志位置log_pos继续进行新增、更新、删除增量操作的解析。


3.根据权利要求2所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行新增操作时,首先创建一张测试表,测试表中元素数据类型为一个整型和一个可变长度的字符串,在该测试表中插入数据;查看创建测试表结构和插入数据时二进制日志文件中的日志名log_name和日志位置log_pos的变化;解析二进制日志文件在创建测试表结构和插入数据时的记录。


4.根据权利要求3所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行新增操作时,二进制日志文件中以Qurey事件类型记录创建测试表结构和查询操作,执行插入数据时,二进制日志文件在新增事件中记录插入的数据值,每一个事件类型对应唯一的日志名log_name和日志位置log_pos。


5.根据权利要求4所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:对于MySQL数据库中执行新增操作时,读取二进制日志文件唯一的日志位置log_pos解析新增事件中对应的每个字段的新增数据,并将解析的新增数据以字符串形式存储到CMSP消息队列中,实现对插入的新增数据的采集和存储,通过CMSP的加密传输及入库组...

【专利技术属性】
技术研发人员:苗亚囡曹景亮李朝铭
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

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

1