在主从式数据库系统中恢复从库的方法、装置和系统制造方法及图纸

技术编号:14587142 阅读:250 留言:0更新日期:2017-02-08 16:42
本发明专利技术公开了一种在主从式数据库系统中恢复从库的方法、装置和系统。其中方法包括:向主数据库侧发送备份指令,使得主数据库侧对主数据库进行备份;获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置,主数据库的备份数据中包括主数据库的数据库配置文件;修改保存的所述数据库配置文件,以使所述指定数据库成为所述主数据库的从库;启动所述指定数据库。该技术方案在需要备份时从对主库进行备份,从而保证了备份数据的时效性;利用该备份数据恢复的数据库可以直接作为主库的从库进行使用,与现有技术相比,显著提升了恢复的从库的可用性。

Method, apparatus and system for recovering a library from a master slave database system

The invention discloses a method, a device and a system for recovering a database from a master-slave database system. The method comprises the following steps: to the main database side sends backup instruction, enables the database backup of the primary database side; save the backup data acquisition master database and to the corresponding position of the specified database to restore the backup data, the primary database includes main database database configuration file; modify the database configuration file and to make the specified database become the main database from the database; start the specified database. The technical scheme of the backup from the backup to the main library, so as to ensure the timeliness of data backup; restore the backup data in the database can be directly used as the main library from the library, compared with the existing technology, significantly enhance the recovery from the usability of the library.

【技术实现步骤摘要】

本专利技术涉及数据库领域,具体涉及一种在主从式数据库系统中恢复从库的方法、装置和系统。
技术介绍
主从式(Master/Slave)的数据库结构可以有效缓解数据库读写访问的压力,但由于从库数据需要与主库数据保持一致,因而也带来了主从数据库同步、备份等方面的诸多问题。现有技术中,会为从库设置备份,利用该备份可以恢复一个从库。但是这种方法存在如下缺点:1)由于备份并不是实时产生的,因此利用备份恢复的从库还需要与主库进行同步,耗费大量时间和资源,尤其是在备份数据落后当前主库数据太多的情况下,同步延时很大,加剧了该问题;2)在备份不可用的情况下无法实现从库的恢复,或是恢复的从库不可用。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的在主从式数据库系统中恢复从库的方法、装置和系统。依据本专利技术的一个方面,提供了一种在主从式数据库系统中恢复从库的方法,包括:向主数据库侧发送备份指令,使得主数据库侧对主数据库进行备份;获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置,主数据库的备份数据中包括主数据库的数据库配置文件;修改保存的所述数据库配置文件,以使所述指定数据库成为所述主数据库的从库;启动所述指定数据库。可选地,其中,向主数据库侧发送备份指令包括:获取主数据库的IP地址和端口号;根据主数据库的IP地址和端口号向主数据库侧发送备份指令。可选地,所述获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置包括:采用Rsync方式将主数据库的已完成的备份数据传到指定数据库的对应位置进行保存;或者,采用即备即传的方式将主数据库的备份数据传输到指定数据库的对应位置进行保存。可选地,该方法进一步包括:判断保存到所述指定数据库的对应位置的数据中是否有所述主数据库作为其他数据库的从库的主从同步信息;如果有,则删除所述主从同步信息。可选地,该方法进一步包括:获取主数据库和所述指定数据库之间的主从同步信息;在启动所述指定数据库之后,根据所述主从同步信息将主数据库的数据同步到作为从数据库的所述指定数据库中。可选地,所述获取主数据库和所述指定数据库之间的主从同步信息包括:从保存到所述指定数据库的对应位置的数据中查找出指定的同步信息文件;从所述指定的同步信息文件中获取主数据库和所述指定数据库之间的主从同步信息。可选地,所述指定数据库为mysql数据库,该方法进一步包括:判断所述指定的同步信息文件中是否存在GTID;如果存在,则采用第一方式进行主从数据同步处理;如果不存在,则采用第二方式进行主从数据同步处理。可选地,该方法进一步包括:在将主数据库的备份数据保存到待恢复的指定数据库的对应位置之前,检查所述对应位置所在机器上是否已存在相关数据库;若是,则停止所述相关数据库的服务,删除相关数据库对应的文件或更改所述相关数据库的标识。依据本专利技术的另一方面,提供了一种在主从式数据库系统中恢复从库的方法,包括:接收来自指定数据库的备份指令;对主数据库进行备份以生成备份数据,其中,主数据库的备份数据中包括主数据库的数据库配置文件;将主数据库的备份数据传输到指定数据库的对应位置,以使所述指定数据库根据所述备份数据成为主数据库的从库。可选地,在对数据库进行备份前,该方法进一步包括:判断是否有足够的空间来对主数据库进行完整备份;如果有足够的空间,则在对主数据库进行完整备份后,开启Rsync服务,采用Rsync方式将主数据库的已完成的备份数据传输到指定数据库的对应位置;如果没有足够的空间,采用即备即传的方式对主数据库进行备份并将备份数据传输到指定数据库的对应位置。可选地,所述对主数据库进行备份包括:利用数据库备份工具xtrabackup将主数据库备份到本地。可选地,该方法进一步包括:在对主数据库进行备份的过程中,将主数据库和所述指定数据库之间的主从同步信息输出到指定的同步信息文件中;将所述指定的同步信息文件作为主数据库的备份数据的一部分传输到所述指定数据库的对应位置。依据本专利技术的又一方面,提供了一种在主从式数据库系统中恢复从库的装置,包括:发送单元,适于向主数据库侧发送备份指令,使得主数据库侧对主数据库进行备份;获取单元,适于获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置,主数据库的备份数据中包括主数据库的数据库配置文件;修改单元,适于修改保存的所述数据库配置文件,以使所述指定数据库成为所述主数据库的从库;启动单元,适于启动所述指定数据库。可选地,所述发送单元,适于获取主数据库的IP地址和端口号;根据主数据库的IP地址和端口号向主数据库侧发送备份指令。可选地,获取单元,适于采用Rsync方式将主数据库的已完成的备份数据传到指定数据库的对应位置进行保存;或者,适于采用即备即传的方式将主数据库的备份数据传输到指定数据库的对应位置进行保存。可选地,修改单元,进一步适于判断保存到所述指定数据库的对应位置的数据中是否有所述主数据库作为其他数据库的从库的主从同步信息;如果有,则删除所述主从同步信息。可选地,该装置进一步包括:同步单元,适于获取主数据库和所述指定数据库之间的主从同步信息;在所述指定数据库启动之后,根据所述主从同步信息将主数据库的数据同步到作为从数据库的所述指定数据库中。可选地,所述同步单元,适于从保存到所述指定数据库的对应位置的数据中查找出指定的同步信息文件;从所述指定的同步信息文件中获取主数据库和所述指定数据库之间的主从同步信息。可选地,所述指定数据库为mysql数据库,所述同步单元,进一步适于判断所述指定的同步信息文件中是否存在GTID;如果存在,则采用第一方式进行主从数据同步处理;如果不存在,则采用第二方式进行主从数据同步处理。可选地,该装置进一步包括:预处理单元,适于在将主数据库的备份数据保存到待恢复的指定数据库的对应位置之前,检查所述对应位置所在机器上是否已存在相关数据库;若是,则停止所述相关数据库的服务,删除相关数据库对应的文件或更改所述相关数据库的标识。依据本专利技术的再一方面,提供了一种在主从式数据库系统中恢复从库的装置,包括:接收单元,适于接收来自指定数据库的备份指令;备份单元,适于对主数据库进行备份以生成备份数据,其中,主数据库的备份数据中包括主数据库的数据库配置文件;传输单元,适于将主数据库的备份数据传输到指定数据库的对应位置,以使所述指定数据库根据所述备份数据成为主数据库的从库。可选地,所述传输单元,进一步适于判断是否有足够的空间来对主数据库进行完整备份;如果有足够的空间,则在所述备份单元对主数据库进行完整备份后,开启Rsync服务,采用Rsync方式将主数据库的已完成的备份数据传输到指定数据库的对应位置;如果没有足够的空间,在所述备份单元采用即备即传的方式对主数据库进行备份时,将备份数据传输到指定数据库的对应位置。可选地,所述备份单元,适于利用数据库备份工具xtrabackup将主数据库备份到本地。可选地,所述备份单元,进一步适于在对主数据库进行备份的过程中,将主数据库和所述指定数据库之间的主从同步信息输出到指定的同步信息文件中;所述传输单元,进一步适于将所述指定的同步信息文件作为主数据库的备份数据的一部分传输到所述指定数据库的对应位置。依据本专利技术的再一方面,提本文档来自技高网...

【技术保护点】
一种在主从式数据库系统中恢复从库的方法,其中,该方法包括:向主数据库侧发送备份指令,使得主数据库侧对主数据库进行备份;获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置,主数据库的备份数据中包括主数据库的数据库配置文件;修改保存的所述数据库配置文件,以使所述指定数据库成为所述主数据库的从库;启动所述指定数据库。

【技术特征摘要】
1.一种在主从式数据库系统中恢复从库的方法,其中,该方法包括:向主数据库侧发送备份指令,使得主数据库侧对主数据库进行备份;获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置,主数据库的备份数据中包括主数据库的数据库配置文件;修改保存的所述数据库配置文件,以使所述指定数据库成为所述主数据库的从库;启动所述指定数据库。2.如权利要求1所述的方法,其中,向主数据库侧发送备份指令包括:获取主数据库的IP地址和端口号;根据主数据库的IP地址和端口号向主数据库侧发送备份指令。3.如权利要求1所述的方法,其中,所述获取主数据库的备份数据并保存到待恢复的指定数据库的对应位置包括:采用Rsync方式将主数据库的已完成的备份数据传到指定数据库的对应位置进行保存;或者,采用即备即传的方式将主数据库的备份数据传输到指定数据库的对应位置进行保存。4.一种在主从式数据库系统中恢复从库的方法,其中,该方法包括:接收来自指定数据库的备份指令;对主数据库进行备份以生成备份数据,其中,主数据库的备份数据中包括主数据库的数据库配置文件;将主数据库的备份数据传输到指定数据库的对应位置,以使所述指定数据库根据所述备份数据成为主数据库的从库。5.如权利要求4所述的方法,其中,在对数据库进行备份前,该方法进一步包括:判断是否有足够的空间来对主数据库进行完整备份;如果有足够的空间,则在对主数据库进行完整备份后,开启Rsync服务,采用Rsync方式将主数据库的已完成的备份数据传输到指定数据库的对应位置;如果没有足够的空间,采用即备即传的方式对主数据库进行备份并将备份数据传输到指定数据...

【专利技术属性】
技术研发人员:任娜
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1