CN107368390B - 数据库日志的备份方法、装置及服务器 - Google Patents

数据库日志的备份方法、装置及服务器 Download PDF

Info

Publication number
CN107368390B
CN107368390B CN201710577029.XA CN201710577029A CN107368390B CN 107368390 B CN107368390 B CN 107368390B CN 201710577029 A CN201710577029 A CN 201710577029A CN 107368390 B CN107368390 B CN 107368390B
Authority
CN
China
Prior art keywords
database
journal
storage engines
backup
engine
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
CN201710577029.XA
Other languages
English (en)
Other versions
CN107368390A (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 Sankuai Network Technology Co ltd
Beijing Three Fast Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201710577029.XA priority Critical patent/CN107368390B/zh
Publication of CN107368390A publication Critical patent/CN107368390A/zh
Application granted granted Critical
Publication of CN107368390B publication Critical patent/CN107368390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • G06F16/275Synchronous replication
    • 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

Landscapes

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

Abstract

本申请是关于一种数据库日志的备份方法、装置及服务器,所述方法包括:接收主服务器基于主从同步机制传输的数据库日志;确定所述数据库日志中记录的数据库操作的操作类型;基于所述操作类型,确定执行所述数据库操作时要使用的存储引擎;基于所述存储引擎执行所述数据库操作并输出日志备份文件。在上述配置过程中,由于从服务器是利用MySQL的主从同步传输机制来接收数据库日志,提高日志备份的可靠性,并且从服务器使用黑洞引擎执行主服务器发送的数据库日志可以降低从服务器存储数据的开销。

Description

数据库日志的备份方法、装置及服务器
技术领域
本申请涉及数据库备份技术领域,尤其涉及一种用于数据库日志的备份方法、装置及服务器。
背景技术
MySQL数据库作为互联网公司广泛使用的关系型数据库,往往需要提供定点恢复的功能来支持故障恢复以及问题排查,为了实现数据库在任意时间点的定点恢复,数据库备份技术往往需要结合定期的全量备份和增量备份,日志备份是一种常用的增量备份方式。现有日志备份技术中,可以基于文件形式传输数据库日志文件,借助文件传输数据库日志的方式需要获取待备份主服务器和从服务器的登陆权限,存在一定的安全隐患,而且在发生网络问题,如网络断开时,往往需要加入额外的日志重传和日志内容验证等机制来提高日志传输的可靠性。可见,目前基于文件传输数据库日志的安全性和可靠性存在一定的风险。
发明内容
为克服相关技术中存在的问题,本申请实施例提供一种数据库日志的备份方法、装置及服务器,可以利用MySQL的主从同步传输机制来传输数据库日志,提高日志备份的可靠性。
根据本申请实施例的第一方面,提供一种用于数据库日志的备份方法,包括:
接收主服务器基于主从同步机制传输的数据库日志;
确定所述数据库日志中记录的数据库操作的操作类型;
基于所述操作类型,确定执行所述数据库操作时要使用的存储引擎;
基于所述存储引擎执行所述数据库操作并输出日志备份文件。
根据本申请实施例的第二方面,提供一种用于数据库日志的备份装置,包括:
接收单元,用于接收主服务器基于主从同步机制传输的数据库日志;
确定单元,用于确定所述接收单元接收到的所述数据库日志中记录的数据库操作的操作类型;
引擎确定单元,用于基于所述确定单元确定的所述操作类型,确定执行所述数据库操作时要使用的存储引擎;
备份单元,用于基于所述引擎确定单元确定的所述存储引擎执行所述数据库操作并输出日志备份文件。
根据本申请实施例的第三方面,提供一种数据库日志的备份系统,所述系统包括主服务器和从服务器;
所述主服务器通过主从同步机制向所述从服务器发送数据库日志;
所述从服务器基于第一方面所述的方法对接收到的数据库日志进行备份得到日志备份文件。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行第一方面所述的数据库日志的备份方法。
根据本申请实施例的第五方面,提供一种服务器,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器执行可执行指令时实现第一方面所描述的数据库日志的备份方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
从服务器接收到主服务器基于主从同步机制传输的数据库日志后,可先确定数据库日志中记录的数据库操作的操作类型,并基于操作类型确定存储引擎,基于确定的存储引擎执行数据库操作并输出日志备份文件,其中,操作类型为创建用户表和对已有用户表执行的操作时存储引擎都为黑洞引擎,由此可实现在执行数据库日志中的数据库操作时不产生磁盘空间开销。可见,在上述备份过程中,由于从服务器是利用MySQL的主从同步传输机制来接收数据库日志,从而可提高日志备份的可靠性,并且从服务器使用黑洞引擎执行主服务器发送的数据库日志可以降低从服务器存储数据的开销;此外,在后续查询备份日志文件时可以直接基于MySQL客户端以及主从同步协议连接日志备份文件进而执行相应的操作,备份日志的维护和管理都更加方便。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是根据本申请一实施例示出的数据库日志的备份方法的流程图;
图1B是根据本申请一实施例示出的数据库日志的备份方法的一种场景图;
图2是根据本申请另一实施例示出的数据库日志的备份方法的流程图;
图3A是根据本申请另一实施例示出的数据库日志的备份方法的流程图一;
图3B是根据本申请另一实施例示出的数据库日志的备份方法的流程图二;
图3C是根据本申请另一实施例示出的数据库日志的备份方法的流程图三;
图4是根据本申请一示例性实施例示出的数据库日志的备份装置的框图;
图5是根据本申请另一示例性实施例示出的数据库日志的备份装置的框图;
图6是根据本发明的一示例性实施例的服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与/或本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语第三等来描述各种信息,但这些信息不应限于这些术语。
图1A是根据本申请一实施例示出的数据库日志的备份方法的流程图,图1B是根据本申请一实施例示出的数据库日志的备份方法的一种场景图;数据库日志的备份方法可以应用于主从服务器中的从服务器,主服务器与从服务器之间通过MySQL的主从同步机制来传输数据库日志,可以避免登录数据库服务器的安全隐患问题,而且通过主从同步机制也提高了数据库日志的传输可靠性。如图1A所示,本实施例中数据库日志的备份方法可包括如下步骤101~104:
在步骤101中,接收主服务器基于主从同步机制传输的数据库日志。
在一实施例中,数据库日志是主服务器在主库发生增加、删除、修改操作时生成的二进制日志文件,主服务器可在启动同步操作时,基于主从同步机制,将数据库日志传输至从服务器。
在步骤102中,确定数据库日志中记录的数据库操作的操作类型。
在一实施例中,从服务器在接收到二进制日志文件时,可读取二进制日志文件中记录的数据库操作的操作语句进而确定操作类型。
例如,主库中向表t1插入了一条记录,则所生成的数据库日志中包含了执行向用户表t1中插入记录的操作的SQL语句:
INSERT INTO t1VALUES('WH2','E1',1220)
基于上面的SQL语句,可以确定数据库操作的操作类型为对已有表执行的操作。
又如,主库中创建了用户表t1,则生成的数据库日志中包含了执行创建用户表t1的操作的SQL语句:
CREATE TABLE t1(id int)engine=InnoDB
基于上面的SQL语句,可以确定主库基于InnoDB存储引擎创建的用户表t1。
在一实施例中,根据数据操作语言CREATE,可知数据库操作的操作类型为创建表,进一步地,可以基于日志文件中的其他SQL语句确定创建的是系统表还是用户表,例如,基于日志文件中的存储引擎,系统表的存储引擎一般为MyISAM引擎或者MEMORY引擎,用户表的存储引擎一般为InnoDB;或者,基于日志文件中的表名称、表属性等来确定所创建的表是用户表还是系统表。
在步骤103中,基于操作类型,确定执行数据库操作时要使用的存储引擎。
在一实施例中,若操作类型为创建用户表的操作,确定执行数据库操作要使用的存储引擎为黑洞引擎。
在一实施例中,若操作类型为创建系统表的操作,确定执行数据库操作时要使用的存储引擎为数据库日志中记录的存储引擎。
在一实施例中,若操作类型为对已有表执行的操作,确定执行数据库操作要使用的存储引擎为已有表的存储引擎,例如,如果从服务器创建已有表时使用的是黑洞引擎(一般用户表都是使用黑洞引擎创建的),则对已有表执行数据库操作时使用黑洞引擎,如果创建已有表时使用的是MEMORY或者MyISAM引擎(一般系统表都是使用MEMORY或者MyISAM引擎创建的),则对已有表执行数据库操作时使用MEMORY或者MyISAM引擎。
在步骤104中,基于存储引擎执行数据库操作并输出日志备份文件。
在一实施例中,在数据库日志中记录的数据库操作的操作类型为创建系统表或者对已有表执行的操作时,所输出的日志备份文件即为执行数据库操作所产生的日志文件。
在一实施例中,在数据库日志中记录的数据库操作的操作类型为创建用户表的操作时,所输出的日志备份文件与执行数据库操作所产生的日志文件存在差异,也即,在基于黑洞引擎创建用户表时,操作所产生的日志文件中记录的用户表的存储引擎为黑洞引擎,然而所输出的日志备份文件中记录的该用户表的存储引擎为第一预设引擎,第一预设引擎为主库创建该用户表时所基于的存储引擎,在日志备份文件中记录的该用户表的存储引擎为第一预设引擎,由此可以便于后续查询日志备份文件时能够确定创建的是一个能够存储数据的表,进而准确地实现数据恢复。
在一示例性场景中,参见图1B,主服务器11在执行数据库操作,如增加、删除、修改等操作时可自动生成数据库日志,并且在启动同步操作时将数据库日志基于主从同步机制传输至从服务器12,从服务器12在确定数据库日志中所记录的数据库操作的操作类型之后即可基于操作类型所对应的存储引擎执行数据库操作,并输出日志备份文件,实现在从服务器12上备份主服务器11的数据库日志。
本实施例中,从服务器接收到主服务器基于主从同步机制传输的数据库日志后,可先确定数据库日志中记录的数据库操作的操作类型,并基于操作类型确定存储引擎,基于确定的存储引擎执行数据库操作并输出日志备份文件,其中,操作类型为创建用户表和对已有用户表执行的操作时存储引擎都为黑洞引擎,由此可实现在执行数据库日志中的数据库操作时不产生磁盘空间开销。可见,在上述备份过程中,由于从服务器是利用MySQL的主从同步传输机制来接收数据库日志,提高日志备份的可靠性,并且从服务器使用黑洞引擎执行主服务器发送的数据库日志可以降低从服务器存储数据的开销;此外,在后续查询备份日志文件时可以直接基于MySQL客户端以及主从同步协议连接日志备份文件进而执行相应的操作,备份日志的维护和管理都更加方便。
图2是根据本申请另一实施例示出的数据库日志的备份方法的流程图,在上述实施例的基础上,本实施例以操作类型为创建用户表时,执行数据库日志的备份方法为例进行示例性说明,如图2所示,可包括如下步骤:
在步骤201中,启动数据库,并且配置基于黑洞引擎的实例。
在一实施例中,可以在数据库配置文件中配置基于黑洞引擎的实例,以便后续基于黑洞引擎创建用户表和对用户表的内容进行增加、删除、修改等操作。
在步骤202中,导入待备份的数据库系统表数据和用户表表结构。
在一实施例中,倒入待备份的数据库系统表数据可用户表表结构是为了实现从库的搭建,可以使用命令行下的mysqldump命令导入数据库系统表结构和用户表表结构。
在一实施例中,导入主服务器中的系统表数据可以实现数据库的正常运行,而只导入用户表结构的方式可以加速从库的配置。
在步骤203中,基于所导入的数据库系统表数据和用户表表结构,配置数据库的同步信息并且启动同步操作。
在一实施例中,可以基于步骤203导入的系统表数据和用户表结构启动主服务器上的数据库与从服务器上的数据库的同步操作。
在步骤204中,接收主服务器基于主从同步机制传输的数据库日志。
在步骤205中,确定数据库日志中记录的数据库操作的操作类型。
在一实施例中,确定数据库日志中记录的数据库操作的操作类型,包括:读取数据库日志中记录的数据库操作的操作语句;基于操作语句,确定数据库操作的操作类型。例如,主库中向表t1插入了一条记录,则所生成的数据库日志中包含了执行向用户表t1中插入记录的操作的SQL语句:
INSERT INTO t1VALUES('WH2','E1',1220)
基于上面的SQL语句,可以确定数据库操作的操作类型为对已有表执行的操作。
在步骤206中,基于操作类型,确定执行数据库操作时要使用的存储引擎。
在一实施例中,如果操作类型为创建用户表的操作或者对已有表执行的操作,确定执行数据库操作所要使用的存储引擎为黑洞引擎。
在一实施例中,如果操作类型为创建系统表的操作,确定执行数据库操作时要使用的存储引擎为数据库日志中记录的存储引擎。
在步骤207中,基于存储引擎执行数据库操作并输出日志备份文件。
步骤207的描述可以参见图3A-图3B所示实施例的相关描述,这里先不详述。
本实施例中,在备份从库时,通过配置基于黑洞引擎的MySQL实例,可以实现基于黑洞引擎执行相关的数据库操作,进而避免存储实际数据的磁盘存储空间的开销;此外,通过只导入用户表结构的方式可以加速从库的配置。
图3A是根据本申请另一实施例示出的数据库日志的备份方法的流程图一,图3B是根据本申请另一实施例示出的数据库日志的备份方法的流程图二,图3C是根据本申请另一实施例示出的数据库日志的备份方法的流程图三,数据库日志的备份方法的执行主体可以是从服务器,如图3A所示,本实施例以操作类型为创建用户表时执行数据库日志的备份方法为例进行示例性说明,包括以下步骤:
在步骤301中,将存储引擎从第一预设引擎转换为黑洞引擎。
在一实施例中,第一预设引擎为主服务器中数据库建立用户表时所使用的存储引擎,例如,为InnoDB存储引擎。
在步骤302中,基于黑洞引擎执行数据库操作,得到第一日志文件。
在一实施例中,第一日志文件中所记录的用户表的存储引擎为黑洞引擎。
在步骤303中,将第一日志文件中用户表的存储引擎记录为第一预设引擎,得到日志备份文件。
在一实施例中,日志备份文件中记录的该用户表的存储引擎为第一预设引擎,第一预设引擎为主库创建该用户表时所基于的存储引擎,在日志备份文件中记录的该用户表的存储引擎为第一预设引擎,由此可以便于后续查询日志备份文件时能够确定创建的是一个能够存储数据的表,进而准确地实现数据恢复。
如图3B所示,本实施例以操作类型为对已有表执行的操作时执行数据库日志的备份方法为例进行示例性说明,包括以下步骤:
在步骤311中,若操作类型为对已有表执行的操作,确定已有表的存储引擎。
在步骤312中,基于已有表的存储引擎执行数据库操作,得到日志备份文件。
如图3C所示,本实施例以操作类型为创建系统表的操作时执行数据库日志的备份方法为例进行示例性说明,包括以下步骤:
在步骤321中,若操作类型为创建系统表的操作,确定数据库日志中记录的存储引擎。
在步骤322中,通过记录的存储引擎执行数据库操作,得到日志备份文件。
本实施例中,基于数据库日志中数据库操作的操作类型,使用对应的日志备份方法,可以实现快速的日志备份,并且避免存储实际数据的磁盘存储空间的开销。
与前述数据库日志的备份装置的实施例相对应,本申请还提供了数据库日志的备份装置的实施例。
图4是根据本申请一示例性实施例示出的数据库日志的备份装置的框图。本实施例中,装置可以包括:
接收单元410,用于接收主服务器基于主从同步机制传输的数据库日志;
确定单元420,用于确定接收单元410接收到的数据库日志中记录的数据库操作的操作类型;
引擎确定单元430,用于基于确定单元420确定的操作类型,确定执行数据库操作时要使用的存储引擎;
备份单元440,用于基于引擎确定单元430确定的存储引擎执行数据库操作并输出日志备份文件。
通过上述数据库日志的备份装置,可以提高日志备份的可靠性,并且从服务器使用黑洞引擎执行主服务器发送的数据库日志可以降低从服务器存储数据的开销。
图5是根据本申请另一示例性实施例示出的数据库日志的备份装置的框图,基于上述图4所示的实施例,引擎确定单元430包括:
第一确定子单元431,用于在确定单元420确定的操作类型为创建用户表的操作或者对已有表执行的操作时,确定执行数据库操作要使用的存储引擎为黑洞引擎;
第二确定子单元432,用于在确定单元420确定的操作类型为创建系统表的操作时,确定执行数据库操作时要使用的存储引擎为数据库日志中记录的存储引擎;
第三确定子单元433,用于在操作类型为对已有表执行的操作时,确定执行数据库操作要使用的存储引擎为已有表的存储引擎。
在一实施例中,备份单元440包括:
引擎转换子单元441,用于在操作类型为创建用户表的操作时,将存储引擎从第一预设引擎转换为黑洞引擎,第一预设引擎为数据库日志中记录的创建用户表所使用的存储引擎;
第一执行子单元442,用于基于引擎转换子单元441转换得到的黑洞引擎执行数据库操作,得到第一日志文件;
日志记录子单元443,用于将第一执行子单元442生成的第一日志文件中用户表的存储引擎记录为第一预设引擎,得到日志备份文件。
在一实施例中,备份单元440包括:
第四确定子单元444,用于在操作类型为对已有表执行的操作时,确定已有表的存储引擎;
第二执行子单元445,用于基于第四确定子单元444确定已有表的存储引擎执行数据库操作,得到日志备份文件。
在一实施例中,备份单元440包括:
第五确定子单元446,用于在操作类型为创建系统表的操作时,确定数据库日志中记录的存储引擎;
第三执行子单元447,用于通过第五确定子单元446确定的存储引擎执行数据库操作,得到日志备份文件。
在一实施例中,确定单元420包括:
读取子单元421,用于读取数据库日志中记录的数据库操作的操作语句;
类型确定子单元422,用于基于读取子单元421读取的操作语句,确定数据库操作的操作类型。
在一实施例中,装置还包括:
实例配置单元450,用于启动数据库,并且配置基于黑洞引擎的实例;
信息配置单元460,用于导入待备份的数据库系统表数据和用户表表结构;
同步单元470,用于基于信息配置单元460所导入的数据库系统表数据和用户表表结构配置数据库的同步信息并且启动同步操作。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对应于上述的数据库日志的备份方法,本申请还提出了一种数据库日志的备份系统,其中,系统包括主服务器和从服务器;主服务器通过主从同步机制向从服务器发送数据库日志;从服务器基于第一方面的方法对接收到的数据库日志进行备份得到日志备份文件。该系统中,从服务器可以执行图1A-图3C所示实施例的数据库日志备份方法,以实现从服务器基于主从同步机制实现安全、可靠的日志备份。
对应于上述的数据库日志的备份方法,本申请还提出了图6所示的根据本发明的一示例性实施例的从服务器的示意结构图。请参考图6,在硬件层面,该从服务器包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据库日志的备份装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
其中,处理器,用于接收主服务器基于主从同步机制传输的数据库日志;确定数据库日志中记录的数据库操作的操作类型;基于操作类型,确定执行数据库操作时要使用的存储引擎;基于存储引擎执行数据库操作并输出日志备份文件。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由装置的处理器执行时,使得装置能够执行上述第一方面的数据库日志的备份方法,该方法包括:接收主服务器基于主从同步机制传输的数据库日志;确定数据库日志中记录的数据库操作的操作类型;基于操作类型,确定执行数据库操作时要使用的存储引擎;基于存储引擎执行数据库操作并输出日志备份文件。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (11)

1.一种数据库日志的备份方法,其特征在于,包括:
接收主服务器基于主从同步机制传输的数据库日志;
确定所述数据库日志中记录的数据库操作的操作类型;
基于所述操作类型,确定执行所述数据库操作时要使用的存储引擎;
基于所述存储引擎执行所述数据库操作并输出日志备份文件;
所述基于所述操作类型,确定执行所述数据库操作时所要使用的存储引擎,包括:
若所述操作类型为创建用户表的操作,确定执行所述数据库操作要使用的存储引擎为黑洞引擎;
若所述操作类型为创建系统表的操作,确定执行所述数据库操作时要使用的存储引擎为所述数据库日志中记录的存储引擎;
若所述操作类型为对已有表执行的操作,确定执行所述数据库操作要使用的存储引擎为所述已有表的存储引擎。
2.根据权利要求1所述的方法,其特征在于,所述基于所述存储引擎执行所述数据库操作并输出日志备份文件,包括:
若所述操作类型为创建用户表的操作,将存储引擎从第一预设引擎转换为黑洞引擎,所述第一预设引擎为所述数据库日志中记录的创建所述用户表所使用的存储引擎;
基于所述黑洞引擎执行所述数据库操作,得到第一日志文件;
将所述第一日志文件中所述用户表的存储引擎记录为所述第一预设引擎,得到日志备份文件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述存储引擎执行所述数据库操作并输出日志备份文件,包括:
若所述操作类型为对已有表执行的操作,确定所述已有表的存储引擎;
基于所述已有表的存储引擎执行所述数据库操作,得到日志备份文件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述存储引擎执行所述数据库操作并输出日志备份文件,包括:
若所述操作类型为创建系统表的操作,确定所述数据库日志中记录的存储引擎;
通过记录的所述存储引擎执行所述数据库操作,得到日志备份文件。
5.根据权利要求1所述的方法,其特征在于,所述确定所述数据库日志中记录的数据库操作的操作类型,包括:
读取所述数据库日志中记录的所述数据库操作的操作语句;
基于所述操作语句,确定数据库操作的操作类型。
6.根据权利要求1所述的方法,其特征在于,所述确定所述数据库日志中记录的数据库操作的操作类型之前,还包括:
启动数据库,并且配置基于黑洞引擎的实例;
导入待备份的数据库系统表数据和用户表表结构;
基于所导入的数据库系统表数据和用户表表结构,配置所述数据库的同步信息并且启动同步操作。
7.一种数据库日志的备份装置,其特征在于,包括:
接收单元,用于接收主服务器基于主从同步机制传输的数据库日志;
确定单元,用于确定所述接收单元接收到的所述数据库日志中记录的数据库操作的操作类型;
引擎确定单元,用于基于所述确定单元确定的所述操作类型,确定执行所述数据库操作时要使用的存储引擎;
备份单元,用于基于所述引擎确定单元确定的所述存储引擎执行所述数据库操作并输出日志备份文件;
所述引擎确定单元包括:
第一确定子单元,用于在所述确定单元确定的所述操作类型为创建用户表的操作时,确定执行所述数据库操作要使用的存储引擎为黑洞引擎;
第二确定子单元,用于在所述确定单元确定的所述操作类型为创建系统表的操作时,确定执行所述数据库操作时要使用的存储引擎为所述数据库日志中记录的存储引擎;
第三确定子单元,用于在所述操作类型为对已有表执行的操作时,确定执行所述数据库操作要使用的存储引擎为所述已有表的存储引擎。
8.根据权利要求7所述的装置,其特征在于,所述备份单元包括:
引擎转换子单元,用于在所述操作类型为创建用户表的操作时,将存储引擎从第一预设引擎转换为黑洞引擎;
第一执行子单元,用于基于所述引擎转换子单元转换得到的所述黑洞引擎执行所述数据库操作,得到第一日志文件;
日志记录子单元,用于将所述第一执行子单元生成的所述第一日志文件中所述用户表的存储引擎记录为所述第一预设引擎,得到所述日志备份文件。
9.一种数据库日志的备份系统,其特征在于,所述系统包括主服务器和从服务器;
所述主服务器通过主从同步机制向所述从服务器发送数据库日志;
所述从服务器基于权利要求1-6任一项所述的方法对接收到的数据库日志进行备份得到日志备份文件。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-6任一所述的数据库日志的备份方法。
11.一种服务器,其特征在于,所述服务器包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器执行所述可执行指令时实现权利要求1-6任一所述的数据库日志的备份方法。
CN201710577029.XA 2017-07-14 2017-07-14 数据库日志的备份方法、装置及服务器 Active CN107368390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710577029.XA CN107368390B (zh) 2017-07-14 2017-07-14 数据库日志的备份方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710577029.XA CN107368390B (zh) 2017-07-14 2017-07-14 数据库日志的备份方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN107368390A CN107368390A (zh) 2017-11-21
CN107368390B true CN107368390B (zh) 2019-03-15

Family

ID=60308366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710577029.XA Active CN107368390B (zh) 2017-07-14 2017-07-14 数据库日志的备份方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107368390B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558455A (zh) * 2018-12-03 2019-04-02 上海热璞网络科技有限公司 一种数据库备份方法、装置及服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058371B2 (en) * 2011-11-07 2015-06-16 Sap Se Distributed database log recovery
CN104021200B (zh) * 2014-06-16 2018-06-15 北京京东尚科信息技术有限公司 一种数据库的数据同步方法和装置
CN104239476B (zh) * 2014-09-04 2018-09-25 上海天脉聚源文化传媒有限公司 一种数据库同步的方法、装置及系统
CN106933703B (zh) * 2015-12-30 2021-04-02 阿里巴巴集团控股有限公司 一种数据库数据备份的方法、装置及电子设备

Also Published As

Publication number Publication date
CN107368390A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
EP3779732A1 (en) Data backup method, storage medium, and computing device
EP2972983B1 (en) Dynamically managing memberships in replicated state machines within a distributed computing environment
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
US20190087439A1 (en) Data replication from a cloud-based storage resource
CN104246767A (zh) 用于云同步系统的遥测系统
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
CN105574109A (zh) 一种数据库同步方法、同步设备及系统
CN106933703A (zh) 一种数据库数据备份的方法、装置及电子设备
US9401957B2 (en) System and method for synchronization between servers
CN102272751A (zh) 在数据库环境通过背景同步的数据完整性
US20210064473A1 (en) Method and device for failover in hbase system, and non-transitory computer-readable storage medium
CN109361777B (zh) 分布式集群节点状态的同步方法、同步系统及相关装置
CN114168190A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN110737719A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN114240409A (zh) 基于改进哈希时间锁的跨链资产交互方法
CN107368390B (zh) 数据库日志的备份方法、装置及服务器
WO2021189283A1 (zh) 数据处理方法、装置、电子装置及存储介质
KR102031589B1 (ko) 관계 체인 처리 방법 및 시스템, 그리고 저장 매체
WO2023240995A1 (zh) 一种双机热备系统的数据恢复方法、装置及介质
CN109885258B (zh) 基于区块链的数据删除装置及方法
JP2018133044A (ja) WebAPI実行フロー生成装置およびWebAPI実行フロー生成方法
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN115757642A (zh) 一种基于归档日志文件的数据同步方法及装置
CN102339305A (zh) 基于偏序关系日志的数据库集群故障恢复方法
CN116049306A (zh) 数据同步方法、装置、电子设备以及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190829

Address after: 100102 No. 6 Building, 6 Wangjing East Road, Chaoyang District, Beijing - 2 floors to 4 floors, 01 floors within 01 floors

Co-patentee after: The fast online Science and Technology Ltd. in Beijing three

Patentee after: Sankuai Cloud Online (Beijing) Technology Co., Ltd.

Address before: 100080 Beijing Haidian District North Fourth Ring Road West, No. 9 2106-030

Patentee before: The fast online Science and Technology Ltd. in Beijing three

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100102 4th floor 01, building 6, courtyard 6, Wangjing East Road, Chaoyang District, Beijing

Patentee after: Beijing Sankuai Network Technology Co.,Ltd.

Patentee after: Beijing three fast online Technology Co., Ltd.

Address before: 100102 4th floor 01, building 6, courtyard 6, Wangjing East Road, Chaoyang District, Beijing

Patentee before: Sankuai Cloud Online (Beijing) Technology Co.,Ltd.

Patentee before: Beijing three fast online Technology Co., Ltd.