CN104021200B - 一种数据库的数据同步方法和装置 - Google Patents

一种数据库的数据同步方法和装置 Download PDF

Info

Publication number
CN104021200B
CN104021200B CN201410267483.1A CN201410267483A CN104021200B CN 104021200 B CN104021200 B CN 104021200B CN 201410267483 A CN201410267483 A CN 201410267483A CN 104021200 B CN104021200 B CN 104021200B
Authority
CN
China
Prior art keywords
database
database server
main
server
newly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410267483.1A
Other languages
English (en)
Other versions
CN104021200A (zh
Inventor
赵晓平
唐超
马丽伟
秦波
王�锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410267483.1A priority Critical patent/CN104021200B/zh
Publication of CN104021200A publication Critical patent/CN104021200A/zh
Application granted granted Critical
Publication of CN104021200B publication Critical patent/CN104021200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种数据库的数据同步方法和装置
技术领域
本发明涉及数据库技术,特别涉及一种数据库的数据同步方法和装置。
背景技术
MySQL是一种关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,以及开放源码等特点,广泛地应用于中小型网站的开发和使用。
为防止系统运行过程中的数据损坏、丢失等问题,数据库系统需要定期和/或不定期的维护、备份等工作。另外,为保障系统的稳定,数据库系统也采用了数据同步方案,例如采用主从数据库形式,主数据库与从数据库分别位于不同服务器中,主数据库与从数据库存储相同的数据内容,在正常工作状态下,主数据库和从数据库之间进行数据同步操作,而使主数据库与从数据库存储的数据保持一致,一旦主数据库因为某种意外而损坏可立即采用从数据库替代主数据库而继续保持系统的稳定运行。
对于MySQL数据库系统来说,是采用异步复制或者同步复制的方式实现主数据库(Master)和从数据库(Slave)之间数据同步的。该种方式是一个主数据库将其中的数据复制到1个或者多个从数据库中。对于一个从数据库来说,它只能有一个对应的主数据库,而对于主数据库来说,它可以有多个从数据库。
对于一个大型的数据库系统来说,其中会具有多个主数据库,同时一个主数据库还具有多个从数据库,主数据库越多则从数据库也越多。该种状况下,数据存储分散,无法进行集中查询,并且只有主数据库提供生产服务,而从数据库不提供服务,进而造成了大量系统资源的浪费。
发明内容
有鉴于此,本发明提供一种数据库的数据同步方法和装置,以实现MySQL数据库的多主数据库向单从数据库的数据同步。
本申请的技术方案是这样实现的:
一种数据库的数据同步方法,包括:
监听至少1个主数据库服务器的数据库事件;
当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;
从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;
所述从数据库服务器执行所接收到的数据库事件。
进一步:
所述主数据库服务器中具有至少1个主数据库;
所述从数据库服务器中具有至少1个从数据库;
所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库一一对应。
进一步,当新增主数据库服务器时,所述方法还包括:
配置新增主数据库服务器源信息;
根据所述新增主数据库服务器源信息创建新增主数据库服务器的复制线程。
进一步,所述主数据库服务器源信息包括:主数据库服务器的IP地址、主数据库服务器的连接账户、主数据库服务器的连接密码、主数据库服务器的连接端口、主数据库服务器的日志文件名称和主数据库服务器的日志偏移量。
进一步,所述创建新增主数据库服务器的复制线程包括:
根据所述新增主数据库服务器源信息,建立所述新增主数据库服务器的连接;
根据所述新增主数据库服务器的复制起始点确定新增主数据库服务器的日志文件和日志偏移量;
从所述复制起始点开始,读取所述新增主数据库服务器的数据库事件并存储于所述事件队列;
从所述事件队列读取所述新增主数据库服务器的数据库事件,并将所读取的新增主数据库服务器的数据库事件发送给所述从数据库服务器;
所述从数据库服务器执行所接收到的新增主数据库服务器的数据库事件。
进一步,所述主数据库和从数据库均为MySQL数据库。
一种数据库的数据同步装置,包括:
至少1个主数据库服务器,用于执行数据库事件;
事件监听模块,用于监听所述至少1个主数据库服务器的数据库事件;
事件队列模块,用于从所述至少1个主数据库服务器读取数据库事件并存储于一事件队列;
事件处理模块,用于从所述事件队列读取数据库事件,并将所读取的数据库事件发送给一从数据库服务器;
从数据库服务器,用于执行接收到的数据库事件。
进一步:
所述主数据库服务器中具有至少1个主数据库;
所述从数据库服务器中具有至少1个从数据库;
所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库一一对应。
进一步,所述主数据库和从数据库均为MySQL数据库。
从上述方案可以看出,本发明的数据库的数据同步方法和装置,实现了MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步。对于使用MySQL数据库的分库分表项目而言,传统MySQL数据库备份仅仅支持单一主数据库服务器向一个或者多个从数据库服务器的备份,无法实现多个MySQL主数据库服务器向一个从数据库服务器的备份,而本发明的数据库的数据同步方法和装置,由于实现了MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步,进而解决了无法进行多个MySQL主数据库服务器向一个从数据库服务器的备份的问题。并且由于本发明的数据库的数据同步方法和装置中仅仅采用1个从数据库服务器进行多个主数据库服务器的数据备份,也解决了多个从数据库服务器进行备份所造成了资源浪费问题,解决了MySQL数据库中分库分表项目没有一个集中式的地方提供查询的问题,仅在1个从数据库服务器中便可集中完成多个主数据库服务器的分库分表项目的数据查询。
附图说明
图1为本发明的数据库数据同步方法的流程图;
图2为本发明的数据库数据同步方法的实施例示意图;
图3为本发明的数据库数据同步方法中新增主数据库的实施例流程图;
图4为本发明数据库的数据同步装置实施例示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图1所示,本发明的数据库的数据同步方法,包括:
步骤1、监听至少1个主数据库服务器的数据库事件;
步骤2、当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;
步骤3、从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;
步骤4、所述从数据库服务器执行所接收到的数据库事件。
其中,所述主数据库服务器中具有至少1个主数据库;所述从数据库服务器中保存有至少1个从数据库;所述从数据库服务器中所保存的从数据库与每个主数据库服务器中的每个主数据库一一对应。本发明中,所有主数据库和从数据库均为MySQL数据库,本发明的数据库的数据同步方法,对于MySQL数据库而言,可实现从多个主数据库服务器向1个从数据库服务器的数据同步。
本发明的方法中,每当新增主数据库服务器时,在新增主数据库服务器向从数据库服务器进行同步之前需要进行如下过程:
配置新增主数据库服务器源信息;
根据所述新增主数据库服务器源信息创建新增主数据库服务器的复制线程。
具体地,其中新增的主数据库服务器源信息包括:主数据库服务器的IP地址、主数据库服务器的连接账户、主数据库服务器的连接密码、主数据库服务器的连接端口、主数据库服务器的日志文件名称和主数据库服务器的日志偏移量等。
创建新增主数据库服务器的复制线程包括:
根据所述新增的主数据库服务器源信息,建立所述新增的主数据库服务器的连接;
根据所述新增的主数据库服务器的复制起始点确定新增的主数据库服务器的日志文件和日志偏移量;
从所述复制起始点开始,读取所述新增主数据库服务器的数据库事件并存储于所述事件队列;
从所述事件队列读取所述新增主数据库服务器的数据库事件,并将所读取的新增主数据库服务器的数据库事件发送给所述从数据库服务器;
所述从数据库服务器执行所接收到的新增主数据库服务器的数据库事件。
以下结合图2所示的具体实施例,对本发明的数据库的数据同步方法进行说明。
如图2所示,其中共有3个主数据库服务器,分别为主数据库服务器M1、主数据库服务器M2和主数据库服务器M3,其中有1个从数据库服务器S。3个主数据库服务器用于提供生产服务,例如网站系统的数据库服务器,从数据库服务器S用于和3个主数据库服务器进行数据同步,3个主数据库服务器的生产数据(例如网站运营数据)均同步备份于从数据库S中。
主数据库服务器M1中具有3个主数据库,分别为主数据库M1-1、主数据库M1-2、主数据库M1-3,主数据库服务器M2中具有2个主数据库,分别为主数据库M2-1、主数据库M2-2,主数据库服务器M3中具有1个主数据库,为主数据库M3-1;从数据库服务器S中具有6个从数据库,分别为从数据库S1-1、从数据库S1-2、从数据库S1-3、从数据库S2-1、从数据库S2-2、从数据库S3-1;每个从数据库与每个主数据库服务器中的每个主数据库一一对应,具体地,从数据库S1-1与主数据库M1-1对应、从数据库S1-2与主数据库M1-2对应、从数据库S1-3与主数据库M1-3、从数据库S2-1与主数据库M2-1对应、从数据库S2-2与主数据库M2-2对应、从数据库S3-1与主数据库M3-1对应,即主数据库M1-1的数据同步于从数据库S1-1中、主数据库M1-2的数据同步于从数据库S1-2中、主数据库M1-3的数据同步于从数据库S1-3中、主数据库M2-1的数据同步于从数据库S2-1中、主数据库M2-2的数据同步于从数据库S2-2中、主数据库M3-1的数据同步于从数据库S3-1中。所有的主数据库和从数据库均为MySQL数据库。该数据同步方法包括以下步骤。
步骤a1、监听3个主数据库服务器的数据库事件。
对于MySQL来说,数据库事件均记载于日志文件中,当执行数据库事件(例如建立表格、更新表格等事件)时,所执行的数据库事件均记录于日志文件中,本发明中所使用的MySQL的日志文件为binlog文件,binlog文件为二进制日志文件,其记录所有更改数据库的语句,可用于复制、恢复数据库,当任意一个主数据库服务器发生数据库事件时,均会同时记录于该主数据库服务器的binlog文件中,因此在本发明数据库的数据同步方法中,监听主数据库服务器的数据库事件,是监听每个主数据库服务器的binlog文件中所记录的事件。
步骤a2、3个主数据库服务器中任意一个主数据库服务器执行数据库事件。
本步骤a2中,是指主数据库服务器M1、主数据库服务器M2、主数据库服务器M3中的任意一个主数据库服务器执行数据库事件。对于主数据库服务器M1来说,所执行数据库事件可能是主数据库M1-1、主数据库M1-2和主数据库M1-3中任何一个主数据库的数据库事件,对于主数据库服务器M2来说,所执行数据库事件可能是主数据库M2-1和主数据库M2-2中任何一个主数据库的数据库事件,对于主数据库服务器M3来说,所执行数据库事件是主数据库M3-1的数据库事件。
步骤a3、从执行数据库事件的主数据库服务器读取所执行的数据库事件,并将其存储于事件队列。
当数据库服务器执行数据库事件时,所执行的数据库事件记录于其日志文件中,本步骤a3中,所执行的数据库事件是从主数据库服务器的日志文件(即binlog文件)中进行读取。例如,当主数据库服务器M1执行数据库事件时,则从主数据库服务器M1的日志文件中读取所执行的数据库事件,并将其存储于事件队列,当主数据库服务器M2执行数据库事件时,从主数据库服务器M2的日志文件中读取所执行的数据库事件,并将其存储于事件队列,等等,此处不再列举。
步骤a4、从事件队列中读取数据库事件,并将所读取的数据库事件发送给从数据库服务器S。
事件队列用于存储各个主数据库所执行的数据库事件,由于在事件队列中所存储的各个数据库事件都是从主数据库服务器的日志文件中读取的,因此每个数据库事件的信息均可对应到执行该数据库事件的主数据库。例如,主数据库服务器M1的某条数据库事件是主数据库M1-1的数据库事件,则在该条数据库事件的信息中可以得知是主数据库M1-1的数据库事件,进而在从数据库服务器S执行该条数据库事件时,可直接对应到从数据库S1-1(主数据库M1-1的备份数据库)。
步骤a5、从数据库服务器S执行所接收到的数据库事件。
本步骤a5中,从数据库服务器S从事件队列接收到数据库事件后,从数据库服务器S直接执行所接收到的数据库事件。因为从数据库服务器S中具有与各个主数据库服务器相同的备份,所以,从数据库服务器S直接执行所接收到的数据库事件,其实就是在从数据库服务器S中执行了一次与相应的主数据库服务器相同的数据库事件。
例如,主数据库服务器M1执行一条数据库事件,该数据库事件是针对主数据库M1-1的数据库事件,在主数据库服务器M1执行该条数据库事件时,该条数据库事件写入了主数据库服务器M1的日志文件中,在该条数据库事件写入主数据库服务器M1的日志文件时便被监听到了,进而将该条数据库事件从主数据库服务器M1的日志文件中读取出来并存储于事件队列,之后,从事件队列中读取该条数据库事件并发送给从数据库服务器S,从数据库服务器S接收到该条数据库事件后直接执行该条数据库事件,便是执行与主数据库服务器M1相同的数据库事件,因为从数据库服务器M1中具有主数据库服务器M1中主数据库M1-1的备份从数据库S1-1(从数据库S1-1事实上和主数据库M1-1是内容完全一样的数据库),进而执行上述与主数据库服务器M1相同的数据库事件后,从数据库S1-1的内容与主数据库M1-1的内容保持了一致。
对于其它主数据库服务器向该从数据库服务器S的数据同步,同样采用上述方法,可保证从数据库服务器S中的每个从数据库均与其所对应的主数据库(位于相同或者不同的主数据库服务器中)的内容的一致性。这样便实现了多个主数据库服务器向单个从数据库服务器的数据同步。
若要进一步增加主数据库服务器,例如再增加一个新的主数据库服务器M4,则需要进行以下过程,参见图3所示。
步骤b1、配置主数据库服务器M4源信息。
主数据库服务器M4源信息,主要用于进行主数据库服务器M4的连接、监听和同步数据的起始点等。主数据库服务器M4源信息包括主数据库服务器M4的IP地址、主数据库服务器M4的连接账户、主数据库服务器M4的连接密码、主数据库服务器M4的连接端口、主数据库服务器M4的日志文件名称和主数据库服务器M4的日志偏移量等。其中,主数据库服务器M4的IP地址、主数据库服务器M4的连接账户、主数据库服务器M4的连接密码和主数据库服务器M4的连接端口主要用于进行主数据库服务器M4的连接和监听;主数据库服务器M4的日志文件名称和主数据库服务器M4的日志偏移量,主要用于监听和确定同步数据的起始点等。
步骤b2、根据主数据库服务器M4源信息创建主数据库服务器M4的复制线程。步骤b2主要包括以下步骤b21至步骤b25的内容。
步骤b21、根据主数据库服务器M4源信息,建立主数据库服务器M4的连接。主数据库服务器M4的连接主要根据主数据库服务器M4源信息中的主数据库服务器M4的IP地址、连接账户、连接密码和连接端口等信息进行建立的。
步骤b22、根据主数据库服务器M4的复制起始点确定主数据库服务器M4的日志文件和日志偏移量。
对于新增加的主数据库服务器来说,需要确定其复制起始点,即起始的时间点,从哪一时刻开始进行新增加的主数据库服务器中哪些主数据库的同步。一般来说,要保证主数据库服务器和从数据库服务器的一致,新增加的主数据库服务器(主数据库服务器M4)的内容需要全部同步于从数据库服务器S中。作为一个具体实施例,新增加的主数据库服务器M4的复制起始点为主数据库服务器M4中用户最开始创建新的数据库的时间点,其中不含有主数据库服务器自动生成的库表(这些主数据库服务器自动生成的库表不需要进行数据备份)。根据复制起始点确定日志文件和日志偏移量后便可以进行日志文件的读取过程,以进行数据的同步工作。
步骤b23、从主数据库服务器M4的复制起始点开始,读取主数据库服务器M4的数据库事件并存储于事件队列。
步骤b24、从所述事件队列读取主数据库服务器M4的数据库事件,并将所读取的主数据库服务器M4的数据库事件发送给从数据库服务器S。
步骤b25、从数据库服务器S执行所接收到的主数据库服务器M4的数据库事件。
经过上述步骤b21至步骤b25便完成了步骤b2的创建主数据库服务器M4的复制线程。上述复制线程,就是将主数据库服务器M4中曾经执行的数据库时间,在从数据库服务器S中重新呈现一遍,进而在从数据库服务器S中建立出与主数据库服务器M4中的主数据库内容一致的从数据库(即备份数据库)。
本发明中,采用数据队列进行中间数据库事件的存储缓冲,是考虑到本发明的方法是将多个主数据库服务器的内容备份于一个从数据库服务器中,这样在并发数量很大的情况下,一个从数据库服务器不可能同时完成多个主数据库服务器的数据库事件,因此,采用数据队列后,可将多个主数据库服务器的数据库事件先后在数据队列中进行缓存,进而减轻1个从数据库服务器同步多个主数据库服务器数据的负担。
如图4所示,为本发明数据库的数据同步装置实施例示意图,其包括至少1个主数据库服务器1、事件监听模块2、事件队列模块3、事件处理模块4和从数据库服务器5。其中,至少1个主数据库服务器1用于执行各自的数据库事件;事件监听模块2,用于监听所述至少1个主数据库服务器1的数据库事件;事件队列模块3,用于从所述至少1个主数据库服务器1读取数据库事件并存储于一事件队列;事件处理模块4,用于从事件队列读取数据库事件,并将所读取的数据库事件发送给从数据库服务器5;从数据库服务器5,用于执行接收到的数据库事件。
其中,所述主数据库服务器1中具有至少1个主数据库,所述从数据库服务器5中具有至少1个从数据库,所述从数据库服务器5中的每个从数据库与每个主数据库服务器1中的每个主数据库一一对应。所述主数据库服务器和从数据库服务器中的数据库均为MySQL数据库。
本发明的数据库的数据同步装置,采用上述数据库的数据同步方法即可实现MySQL数据库中多个主数据库服务器到1个从数据库服务器的数据同步。
本发明的数据库的数据同步方法和装置,实现了MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步。对于使用MySQL数据库的分库分表项目而言,传统MySQL数据库备份仅仅支持单一主数据库服务器向一个或者多个从数据库服务器的备份,无法实现多个MySQL主数据库服务器向一个从数据库服务器的备份,而本发明的数据库的数据同步方法和装置,由于实现了MySQL数据库的多主数据库服务器(Master)向单从数据库服务器(Slave)的数据同步,进而解决了无法进行多个MySQL主数据库服务器向一个从数据库服务器的备份的问题。并且由于本发明的数据库的数据同步方法和装置中仅仅采用1个从数据库服务器进行多个主数据库服务器的数据备份,也解决了多个从数据库服务器进行备份所造成了资源浪费问题,解决了MySQL数据库中分库分表项目没有一个集中式的地方提供查询的问题,仅在1个从数据库服务器中便可集中完成多个主数据库服务器的分库分表项目的数据查询。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (7)

1.一种数据库的数据同步方法,将多个主数据库服务器的生产数据同步备份于一个从数据库,包括:
监听至少1个主数据库服务器的数据库事件;
当所述主数据库服务器执行数据库事件时,从所述主数据库服务器读取所述数据库事件并存储于一事件队列;
从所述事件队列读取所述数据库事件,并将所读取的数据库事件发送给一从数据库服务器;
所述从数据库服务器执行所接收到的数据库事件;
当新增主数据库服务器时,配置新增主数据库服务器源信息,所述新增主数据库服务器源信息用于进行新增主数据库服务器的连接、监听和同步数据的起始点;
根据所述新增主数据库服务器源信息创建新增主数据库服务器的复制线程;
其中,所述创建新增主数据库服务器的复制线程包括:
根据所述新增主数据库服务器源信息,建立所述新增主数据库服务器的连接;
根据所述新增主数据库服务器的复制起始点确定新增主数据库服务器的日志文件和日志偏移量;
从所述复制起始点开始,读取所述新增主数据库服务器的数据库事件并存储于所述事件队列;
从所述事件队列读取所述新增主数据库服务器的数据库事件,并将所读取的新增主数据库服务器的数据库事件发送给所述从数据库服务器;
所述从数据库服务器执行所接收到的新增主数据库服务器的数据库事件。
2.根据权利要求1所述的数据库的数据同步方法,其特征在于:
所述主数据库服务器中具有至少1个主数据库;
所述从数据库服务器中具有至少1个从数据库;
所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库一一对应。
3.根据权利要求1所述的数据库的数据同步方法,其特征在于,所述主数据库服务器源信息包括:主数据库服务器的IP地址、主数据库服务器的连接账户、主数据库服务器的连接密码、主数据库服务器的连接端口、主数据库服务器的日志文件名称和主数据库服务器的日志偏移量。
4.根据权利要求1至3任一项所述的数据库的数据同步方法,其特征在于,所述主数据库和从数据库均为MySQL数据库。
5.一种数据库的数据同步装置,将多个主数据库服务器的生产数据同步备份于一个从数据库,其特征在于,包括:
至少1个主数据库服务器,用于执行数据库事件;
事件监听模块,用于监听所述至少1个主数据库服务器的数据库事件;
事件队列模块,用于从所述至少1个主数据库服务器读取数据库事件并存储于一事件队列;
事件处理模块,用于从所述事件队列读取数据库事件,并将所读取的数据库事件发送给一从数据库服务器;
从数据库服务器,用于执行接收到的数据库事件;
当新增主数据库服务器时,配置新增主数据库服务器源信息,所述新增主数据库服务器源信息用于进行新增主数据库服务器的连接、监听和同步数据的起始点;
根据所述新增主数据库服务器源信息创建新增主数据库服务器的复制线程;
其中,所述创建新增主数据库服务器的复制线程包括:
根据所述新增主数据库服务器源信息,建立所述新增主数据库服务器的连接;
根据所述新增主数据库服务器的复制起始点确定新增主数据库服务器的日志文件和日志偏移量;
从所述复制起始点开始,读取所述新增主数据库服务器的数据库事件并存储于所述事件队列;
从所述事件队列读取所述新增主数据库服务器的数据库事件,并将所读取的新增主数据库服务器的数据库事件发送给所述从数据库服务器;
所述从数据库服务器执行所接收到的新增主数据库服务器的数据库事件。
6.根据权利要求5所述的数据库的数据同步装置,其特征在于:
所述主数据库服务器中具有至少1个主数据库;
所述从数据库服务器中具有至少1个从数据库;
所述从数据库服务器中的每个从数据库与每个主数据库服务器中的每个主数据库一一对应。
7.根据权利要求5或6所述的数据库的数据同步装置,其特征在于,所述主数据库和从数据库均为MySQL数据库。
CN201410267483.1A 2014-06-16 2014-06-16 一种数据库的数据同步方法和装置 Active CN104021200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410267483.1A CN104021200B (zh) 2014-06-16 2014-06-16 一种数据库的数据同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410267483.1A CN104021200B (zh) 2014-06-16 2014-06-16 一种数据库的数据同步方法和装置

Publications (2)

Publication Number Publication Date
CN104021200A CN104021200A (zh) 2014-09-03
CN104021200B true CN104021200B (zh) 2018-06-15

Family

ID=51437954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410267483.1A Active CN104021200B (zh) 2014-06-16 2014-06-16 一种数据库的数据同步方法和装置

Country Status (1)

Country Link
CN (1) CN104021200B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468624A (zh) * 2014-09-04 2016-04-06 上海福网信息科技有限公司 网站交互缓存方法及系统
CN104376127B (zh) * 2014-12-12 2018-08-03 北京奇虎科技有限公司 一种数据操作方法及装置
CN105989123A (zh) * 2015-02-13 2016-10-05 阿里巴巴集团控股有限公司 一种数据同步方法、装置和系统
CN104794155B (zh) * 2015-03-12 2019-06-18 北京奇虎科技有限公司 数据加载的方法、装置及系统
CN105260486A (zh) * 2015-11-23 2016-01-20 郑州悉知信息科技股份有限公司 一种数据处理方法、装置及系统
CN105930339B (zh) * 2016-03-31 2019-05-31 北京奇虎科技有限公司 提高消息传输可靠性的方法和系统
CN108076098B (zh) * 2016-11-16 2021-01-26 北京京东尚科信息技术有限公司 一种业务处理方法及系统
CN108733699A (zh) * 2017-04-19 2018-11-02 北京京东尚科信息技术有限公司 数据库主从复制系统、方法和装置
CN107368390B (zh) * 2017-07-14 2019-03-15 北京三快在线科技有限公司 数据库日志的备份方法、装置及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019875A (zh) * 2012-12-19 2013-04-03 北京世纪家天下科技发展有限公司 一种实现数据库双主改造的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI220713B (en) * 2002-10-04 2004-09-01 Hon Hai Prec Ind Co Ltd System and method for synchronizing documents between multi-nodes
CN103744906A (zh) * 2013-12-26 2014-04-23 乐视网信息技术(北京)股份有限公司 一种数据同步系统、方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019875A (zh) * 2012-12-19 2013-04-03 北京世纪家天下科技发展有限公司 一种实现数据库双主改造的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MySQL复制技术的研究与改进";刘腾;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110715(第07期);第1.2、3.4、4.1节,图4-1 *

Also Published As

Publication number Publication date
CN104021200A (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN104021200B (zh) 一种数据库的数据同步方法和装置
JP7090744B2 (ja) 分散データベースクラスタシステム、及びデータ同期方法
US10565071B2 (en) Smart data replication recoverer
CN102411637B (zh) 分布式文件系统的元数据管理方法
CN103902410B (zh) 云存储系统的数据备份加速方法
CA3060499C (en) Dynamically managing memberships in replicated state machines within a distributed computing environment
US20140156596A1 (en) Replication control using eventually consistent meta-data
ATE518189T1 (de) Aufrechterhaltung der datenintegrität auf datenservern in mehreren datenzentren
CN104252500A (zh) 一种数据库管理平台的故障修复方法和装置
CN105069160A (zh) 一种基于自主可控数据库的高可用性方法及构架
CN107430606A (zh) 具有并行持久性的消息代理系统
CN104506625A (zh) 一种提升云数据库元数据节点可靠性的方法
CN106933703A (zh) 一种数据库数据备份的方法、装置及电子设备
CN103618788A (zh) 一种支持b/s结构系统高可用的方法
EP3039568B1 (en) Distributed disaster recovery file sync server system
US20090063486A1 (en) Data replication using a shared resource
CN105389231A (zh) 一种数据库双机备份方法及系统
WO2016082594A1 (zh) 数据更新处理方法及装置
CN105589887A (zh) 分布式文件系统的数据处理方法及分布式文件系统
CN104462342B (zh) 数据库快照同步处理方法及装置
CN103544081A (zh) 双元数据服务器的管理方法和装置
CN103970620B (zh) 一种准连续性数据复制方法及装置
WO2021081675A1 (en) System and method for blockchain based backup and recovery
CN116521083A (zh) 一种分布式存储集群数据的存储方法、装置及介质
CN112597242B (zh) 一种基于涉及批量任务的应用系统数据切片的抽取方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant