一种数据库的数据同步方法和装置制造方法及图纸

技术编号:10396043 阅读:81 留言:0更新日期:2014-09-07 16:13
本发明专利技术公开了一种数据库的数据同步方法和装置,其包括:监听至少1个主数据库服务器的数据库事件;当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;所述从数据库服务器执行所接收到的数据库事件。本发明专利技术的方法和装置,实现了MySQL数据库的多主数据库服务器向单从数据库服务器的数据同步,进而解决了无法进行多个MySQL主数据库服务器向单个从数据库服务器备份的问题,也解决了多个从数据库服务器进行备份所造成的资源浪费问题,解决了MySQL数据库中分库分表项目没有一个集中式的地方提供查询的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种数据库的数据同步方法和装置,其包括:监听至少1个主数据库服务器的数据库事件;当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;所述从数据库服务器执行所接收到的数据库事件。本专利技术的方法和装置,实现了MySQL数据库的多主数据库服务器向单从数据库服务器的数据同步,进而解决了无法进行多个MySQL主数据库服务器向单个从数据库服务器备份的问题,也解决了多个从数据库服务器进行备份所造成的资源浪费问题,解决了MySQL数据库中分库分表项目没有一个集中式的地方提供查询的问题。【专利说明】一种数据库的数据同步方法和装置
本专利技术涉及数据库技术,特别涉及一种数据库的数据同步方法和装置。
技术介绍
MySQL是一种关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,以及开放源码等特点,广泛地应用于中小型网站的开发和使用。为防止系统运行过程中的数据损坏、丢失等问题,数据库系统需要定期和/或不定期的维护、备份等工作。另外,为保障系统的稳定,数据库系统也采用了数据同步方案,例如采用主从数据库形式,主数据库与从数据库分别位于不同服务器中,主数据库与从数据库存储相同的数据内容,在正常工作状态下,主数据库和从数据库之间进行数据同步操作,而使主数据库与从数据库存储的数据保持一致,一旦主数据库因为某种意外而损坏可立即采用从数据库替代主数据库而继续保持系统的稳定运行。对于MySQL数据库系统来说,是采用异步复制或者同步复制的方式实现主数据库(Master)和从数据库(Slave)之间数据同步的。该种方式是一个主数据库将其中的数据复制到I个或者多个从数据库中。对于一个从数据库来说,它只能有一个对应的主数据库,而对于主数据库来说,它可以有多个从数据库。对于一个大型的数据库系统来说,其中会具有多个主数据库,同时一个主数据库还具有多个从数据库,主数据库越多则从数据库也越多。该种状况下,数据存储分散,无法进行集中查询,并且只有主数据库提供生产服务,而从数据库不提供服务,进而造成了大量系统资源的浪费。
技术实现思路
有鉴于此,本专利技术提供一种数据库的数据同步方法和装置,以实现MySQL数据库的多主数据库向单从数据库的数据同步。本申请的技术方案是这样实现的:一种数据库的数据同步方法,包括:监听至少I个主数据库服务器的数据库事件;当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;所述从数据库服务器执行所接收到的数据库事件。进一步:所述主数据库服务器中具有至少I个主数据库;所述从数据库服务器中具有至少I个从数据库;所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库--对应。进一步,当新增主数据库服务器时,所述方法还包括:配置新增主数据库服务器源信息;根据所述新增主数据库服务器源信息创建新增主数据库服务器的复制线程。进一步,所述主数据库服务器源信息包括:主数据库服务器的IP地址、主数据库服务器的连接账户、主数据库服务器的连接密码、主数据库服务器的连接端口、主数据库服务器的日志文件名称和主数据库服务器的日志偏移量。进一步,所述创建新增主数据库服务器的复制线程包括:根据所述新增主数据库服务器源信息,建立所述新增主数据库服务器的连接;根据所述新增主数据库服务器的复制起始点确定新增主数据库服务器的日志文件和日志偏移量;从所述复制起始点开始,读取所述新增主数据库服务器的数据库事件并存储于所述事件队列;从所述事件队列读取所述新增主数据库服务器的数据库事件,并将所读取的新增主数据库服务器的数据库事件发送给所述从数据库服务器;所述从数据库 服务器执行所接收到的新增主数据库服务器的数据库事件。进一步,所述主数据库和从数据库均为MySQL数据库。一种数据库的数据同步装置,包括:至少I个主数据库服务器,用于执行数据库事件;事件监听模块,用于监听所述至少I个主数据库服务器的数据库事件;事件队列模块,用于从所述至少I个主数据库服务器读取数据库事件并存储于一事件队列;事件处理模块,用于从所述事件队列读取数据库事件,并将所读取的数据库事件发送给一从数据库服务器;从数据库服务器,用于执行接收到的数据库事件。进一步:所述主数据库服务器中具有至少I个主数据库;所述从数据库服务器中具有至少I个从数据库;所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库--对应。进一步,所述主数据库和从数据库均为MySQL数据库。从上述方案可以看出,本专利技术的数据库的数据同步方法和装置,实现了 MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步。对于使用MySQL数据库的分库分表项目而言,传统MySQL数据库备份仅仅支持单一主数据库服务器向一个或者多个从数据库服务器的备份,无法实现多个MySQL主数据库服务器向一个从数据库服务器的备份,而本专利技术的数据库的数据同步方法和装置,由于实现了 MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步,进而解决了无法进行多个MySQL主数据库服务器向一个从数据库服务器的备份的问题。并且由于本专利技术的数据库的数据同步方法和装置中仅仅采用I个从数据库服务器进行多个主数据库服务器的数据备份,也解决了多个从数据库服务器进行备份所造成了资源浪费问题,解决了 MySQL数据库中分库分表项目没有一个集中式的地方提供查询的问题,仅在I个从数据库服务器中便可集中完成多个主数据库服务器的分库分表项目的数据查询。【专利附图】【附图说明】图1为本专利技术的数据库数据同步方法的流程图;图2为本专利技术的数据库数据同步方法的实施例示意图;图3为本专利技术的数据库数据同步方法中新增主数据库的实施例流程图;图4为本专利技术数据库的数据同步装置实施例示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术作进一步详细说明。如图1所示,本专利技术的数据库的数据同步方法,包括:步骤1、监听至少I个主数据库服务器的数据库事件;步骤2、当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储 于一事件队列;步骤3、从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;步骤4、所述从数据库服务器执行所接收到的数据库事件。其中,所述主数据库服务器中具有至少I个主数据库;所述从数据库服务器中保存有至少I个从数据库;所述从数据库服务器中所保存的从数据库与每个主数据库服务器中的每个主数据库--对应。本专利技术中,所有主数据库和从数据库均为MySQL数据库,本专利技术的数据库的数据同步方法,对于MySQL数据库而言,可实现从多个主数据库服务器向I个从数据库服务器的数据同步。本专利技术的方法中,每当新增主数据库服务器时,在新增主数据库服务器向从数据库服务器进行同步之前需要进行如下过程:配置新增主数据库服务器源信息;根据所述新增主数据库服务器源信息创建本文档来自技高网
...
一种数据库的数据同步方法和装置

【技术保护点】
一种数据库的数据同步方法,包括:监听至少1个主数据库服务器的数据库事件;当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;所述从数据库服务器执行所接收到的数据库事件。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵晓平唐超马丽伟秦波王锋
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1