CN104252500A - 一种数据库管理平台的故障修复方法和装置 - Google Patents
一种数据库管理平台的故障修复方法和装置 Download PDFInfo
- Publication number
- CN104252500A CN104252500A CN201310270209.5A CN201310270209A CN104252500A CN 104252500 A CN104252500 A CN 104252500A CN 201310270209 A CN201310270209 A CN 201310270209A CN 104252500 A CN104252500 A CN 104252500A
- Authority
- CN
- China
- Prior art keywords
- mishap database
- mishap
- database
- database example
- master library
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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
本发明公开了一种数据库管理平台的故障修复方法和装置。本发明实施例提供的一种数据库管理平台的故障修复方法包括:当接收到对数据库管理平台中故障数据库实例的修复命令时,判断故障数据库实例在发生故障前在实例组中的角色;当故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
Description
技术领域
本发明涉及数据库技术领域,特别涉及一种数据库管理平台的故障修复方法和装置。
背景技术
MySQL数据库服务于互联网企业已有十年之久,在众多关系型数据库产品当中MySQL的存储引擎特点使得其逐渐成为各种业务模型选择的数据存储介质。
最初数据量还处于微小阶段,MySQL为一单台且与应用程序共用服务器的单实例服务形式提供应用程序访问,当服务器出现硬件故障,或者应用程序与MySQL运行争抢资源使得MySQL资源耗尽服务崩溃,或者当时低版本的种种限制导致MySQL运行异常,这时需要DBA(DatabaseAdministrator,数据库管理员)人工干预使用预先保存的完整备份文件进行数据恢复。
随着互联网产品的不断更新,数据库中存储的数据类型也由简单的存储信息,演变存储交易、积分、日志、用户动态等多维数据,数据量也随之变得庞大,那么数据库就剥离出来单独配备服务器,同时数据库架构也由单实例增加到多实例。
由于数据库架构的复杂化,导致DBA人工执行数据修复时的操作复杂度较高、出错率高;并且,由于数据量庞大,前一天的完整备份已经不能满足快速恢复并追平同步,DBA只能选择业务空闲期获取一份完整备份,甚至需要停止数据库服务,以进行数据恢复,影响了数据库的运行。
发明内容
本发明提供了一种数据库管理平台的故障修复方法和装置,以解决现有方案由于数据库架构较复杂及数据量庞大造成的人工数据恢复时,操作复杂度高、出错率高以及导致数据库服务中断的问题等。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种数据库管理平台的故障修复方法,该方法包括:
当接收到对数据库管理平台中故障数据库实例的修复命令时,判断所述故障数据库实例在发生故障前在实例组中的角色;
当所述故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;
当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库上线。
本发明实施例还提供了一种数据库管理平台的故障修复装置,该装置包括:
接收判断单元,用于当接收到对数据库管理平台中故障数据库实例的修复命令时,判断所述故障数据库实例在发生故障前在实例组中的角色;
切换记录获取单元,用于当所述故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;
第一故障修复单元,用于当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库上线。
本发明实施例的有益效果是:
本发明实施例在数据库实例层次上对数据库的故障进行修复,通过保存数据库实例出现故障时数据库实例之间的切换记录,对主库角色的故障数据库实例利用切换记录建立主从关系、自动数据同步及上线,从而实现了对故障数据库实例的修复。
由上,本发明实施例提供了一种基于数据库管理平台的故障自动修复方案,无需人工干预数据库的修复操作,显著降低了数据修复时的出错率和人力成本;并且,在执行数据库修复时,无需中断在线提供服务的数据库,保证了数据库的正常运行。
附图说明
图1为本发明一个实施例提供的一种数据库管理平台的故障修复方法流程图;
图2为本发明另一个实施例提供的一种数据库管理平台的故障修复方法流程图;
图3为本发明又一个实施例提供的一种数据库管理平台的故障修复装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供的数据库管理平台之故障自动修复功能,无需人工干预数据的恢复操作,利用数据库管理平台自动检测故障数据库实例状态,通过修复命令触发数据恢复操作的启动,平台即可完成在线完整备份,拷贝数据,建立主从关系,自动开启数据同步等多种操作,实现故障的自动修复。
本发明一个实施例提供了一种数据库管理平台的故障修复方法,参见图1,该方法包括:
S100:接收对数据库管理平台中故障数据库实例的修复命令。
S101:判断故障数据库实例在发生故障前在实例组中的角色。
S102:当故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录。
S103:当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
需要说明的是,本发明实施例中的数据库实例指计算机中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间。数据库实例是在数据库处于运行状态时才存在的。数据库实例负责实现给用户提供网络连接、读写数据文件等等各种功能。本发明实施例中故障数据库实例主要指数据库管理平台外部的应用或者数据库管理平台内部的脚本程序等无法通过TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)方式对其行正常访问的数据库实例。而正常运行的数据库实例是能够被平台外部的应用或平台中的脚本程序通过TCP/IP方式正常访问的数据库实例。
数据库管理平台对数据库实例进行配置和管理(如数据库实例的创建、启动、上线、下线等),并维护数据库实例、实例组、域名等各种信息。
本发明实施例在数据库实例层次上对数据库的故障进行修复,通过保存数据库实例出现故障时数据库实例之间的切换记录,对主库角色的故障数据库实例利用切换记录建立主从关系、自动数据同步及上线,从而实现了对故障数据库实例的修复。
由上,本发明实施例提供了一种基于数据库管理平台的故障自动修复方案,无需人工干预数据库的修复操作,显著降低了数据修复时的出错率和人力成本;并且,在执行数据库修复时,无需中断在线提供服务的数据库,保证了数据库的正常运行。
在图1所示实施例的基础上,本发明另一个实施例提供的方法中,在步骤S100中,可以至少通过如下两种方式触发上述修复命令:
方式一、利用数据库管理平台对数据库实例的状态进行监测,并将监测到的故障数据库实例的信息在数据库管理平台的交互界面上显示,如在交互界面上针对故障数据库实例设置一个按钮,该按钮上具有指示需要修复的信息,则接收DBA通过点击该信息(如按钮)发送的修复命令。
这种方式,只需DBA点击按钮发送一个修复命令,数据库管理平台即会在后台自动完成故障数据库实例的修复操作。
方式二、利用数据库管理平台对数据库实例的状态进行监测,定时向监测到的故障数据库实例发送修复命令。
这种方式,数据库管理平台每隔预定时间(或指定具体时间点)自动发送对故障数据库实例的修复命令,彻底将DBA从人工干预数据修复的操作中解放了出来,使人力成本最小化。
需要说明的是,在上述监测数据库实例的故障状态时,可以通过调用数据库管理平台中的一个轮询管理模块实现。该轮询管理模块定时对数据库实例的状态进行轮询,检测数据库实例是否出现异常,当出现异常的数据库实例为从库时,轮询管理模块对该数据库实例进行下线操作,当出现异常的数据库实例为主库时,轮询管理模块对该数据库实例进行下线操作,并在该数据库实例归属的实例组中选取新的主库,将新的主库的信息录入切换记录表中,根据该切换记录表建立该实例组中新的主库与从库的主从关系。
步骤S101中,在数据库管理平台中为每个数据库实例维护一个实例记录,该实例记录被保存在实例表中。实例表的一个示例可以参见下述表1:
表1、实例表
上述实例表中记载了管理平台中各实例的信息,例如,对于每一实例,实例表中记录的信息可以包括实例ID(标识)、所属实例组ID、所在主机ID、IP地址、实例名、端口、实例存活标志、实例关联的数据库名、管理用户名、管理用户密码、角色标识、切换优先级、实例状态、数据同步状态、配置模板。
通过实例记录中的角色标识可以获知故障数据库实例在发生故障前在实例组中的角色,该角色包括主库和从库。
注:由于本数据管理平台利用上述轮询管理模块提供了一种数据库实例的切换机制,当轮询到故障数据库实例(主库)时,会选取新的主库,该故障数据库实例的角色会在发生故障之后被设置为从库,所以在此获取故障数据库实例在发生故障前角色。
当故障数据库实例的角色为主库时,进入步骤S102,当故障数据库实例的角色为从库时,进入步骤S102b。
步骤S102中,故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录包括:
根据故障数据库实例的实例ID查询该故障数据库实例的实例记录,得到该故障数据库实例的实例组ID;然后,根据故障数据库实例的实例组ID查询切换记录表得到该故障数据库实例对应的切换记录。
本实施例提供的切换记录表的一个示例可以参见表2:
表2、切换记录表
字段Field | 数据类型Type | Comment |
id | int(10)unsigned NOT NULL | 切换标识 |
dbInstanceGroupID | int(10)unsigned NOT NULL | 实例组标识 |
addTime | timestamp NOT NULL | 时间戳 |
changeLogPos | varchar(512)NULL | 切换记录 |
由上表2可见,查询切换记录表中的changeLogPos字段,从该字段获取故障数据库实例的切换记录,当从切换记录表中获取到切换记录时,进入步骤S103,否则,进入步骤S103b。
步骤S103中,当获取到故障数据库实例对应的切换记录时,这种情况下,故障数据库实例中数据仍处于可用状态,则利用切换记录直接执行数据的恢复即可,主要包括如下处理:
(1-1)、启动故障数据库实例;
(1-2)、利用切换记录(changeLogPos字段)建立该故障数据库实例与实例组中当前主库的主从关系;
切换记录(changeLogPos)中的内容包括MySQL动态建立主从关系的命令,如该命令可以如下:
CHANGE MASTER TO MASTER_HOST=masterIP,MASTER_USER=replUser,MASTER_PASSWORD=repPassword,MASTER_PORT=masterPort,MASTER_LOG_FILE=binlogName,MASTER_LOG_POS=position
上述命令中使用的参数是键值对(key=value)的形式,key表示建立主从关系需要指定的参数,value表示具体的主库IP(masterIP)、主库端口(masterPort)、同步账号(replUser)、同步账号密码(repPassword)、切换时新主库binlog(二进制日志信息)名称与binlog当时记录的执行点(position)。
(1-3)、执行故障数据库实例与当前主库的同步操作,包括验证主从同步健康状态,获取同步延迟时间值等。
验证日志传输健康(IO_Running)值和日志执行健康状态(SQL_Running)值,并获取同步延迟时间(Seconds_Behind_Master)值。,
当日志传输健康状态值和日志执行健康状态值都指示同步健康,且获取到的同步延迟时间值指示延迟时间为零时,确认满足上线条件。例如,当日志传输健康状态值和日志执行健康状态值都为YES,表明日志文件传输正常且日志内容执行正常,确认主从同步处于健康状态,即日志传输健康状态值和日志执行健康状态值都指示同步健康。
(1-4)在满足上线条件后,将该故障数据库实例上线。
轮询程序检测从库(故障数据库实例)同步延迟消除后,自动将其上线提供服务。
步骤S103b中,对角色为主库的故障数据库实例,当没有获取到故障数据库实例对应的切换记录时(或当获取到主库的切换记录但利用该切换记录执行数据恢复失败时),这种情况下,故障数据库实例中的数据不可用,需要重新在线获取备份文件,则可以从实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。主要包括如下处理:
(2-1)接收管理侧发送的或定时任务发送的触发命令。
当接收到触发命令时,启动对备份文件的获取操作。
(2-2)根据触发命令利用故障数据库实例的实例ID和实例组ID从实例表中获取该实例组中正常运行的从库IP和端口。
利用实例组ID可以定位出该实例组所有的数据库实例,实例组中除了故障数据库实例之外的从库是正常运行的,则从这些从库中选取一个从库作为备份文件的数据来源。
(2-3)根据获取到的从库IP和端口,建立该从库和故障数据库实例之间的连接,并向该从库发送备份命令。
(2-4)将作为数据来源的从库根据备份命令返回的备份文件压缩包放置在故障数据库实例所在的待修复主机中。
在进行备份文件的传输时,为保证数据传输的安全性、完整性和正确性,本实施例还可以对备份文件压缩包采用MD5(消息摘要算法第五版)算法进行加密。
(2-5)获取数据库管理平台为备份操作生成的备份日志,根据该备份日志中的日志完成标识验证备份文件的完整性,并按照MD5算法验证备份文件的正确性。
数据库管理平台会为该平台中各模块的各种操作生成备份日志。上述日志完成标识可以指示备份文件的生成是否完成,通过该日志完成标识确认备份文件的完整性,通过MD5算法验证备份文件在传输中没有丢失或被篡改,确认备份文件的正确性。
(2-6)当确认备份文件的完整性和正确性后,向故障数据库实例发送解压、恢复/数据导入命令,以使该故障数据库实例将备份文件压缩包解压缩后,将备份文件导入至故障数据库实例中,执行故障数据库实例的数据恢复操作。
(2-7)根据数据库管理平台为恢复操作生成的恢复执行日志,确认恢复的数据的完整性,并确认恢复的数据的目录权限满足数据库管理平台规定的目录权限。
上述恢复执行日志可以指示数据恢复操作是否完成,并通过目录权限管理将恢复后的数据放置在平台指定的规范的数据目录和日志目录下,以便于数据库管理平台按照统一的目录对数据进行管理。
(2-8)向故障数据库实例发送启动命令,判断数据库管理平台为启动操作生成的实例启动日志中不存在报错信息,确认该故障数据库实例正确启动。
(2-9)根据备份时刻记录的主从关系信息,向故障数据库实例发起建立主从关系命令,建立修复后故障数据库实例与实例组中当前主库的主从关系。
(2-10)执行故障数据库实例与当前主库的同步操作,包括验证主从同步健康状态,获取同步延迟时间值等。
(2-11)在满足上线条件后,将该故障数据库实例上线。
步骤(2-10)和(2-11)的操作与步骤(1-3)和(1-4)的操作相同,在此不再赘述。
至此,完成对角色为主库的故障数据库实例的数据恢复操作,下面对角色为从库的故障数据库实例的数据恢复操作(即步骤S102b)进行说明:
步骤S102b、当故障数据库实例的角色为从库时,判断故障数据库实例保存的主库信息是否与当前主库信息一致。
若一致,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库上线,此处的具体操作参见上述步骤(1-3)和(1-4)。
若不一致,从当前主库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线,此处的具体操作可以参见上述步骤(2-1)和(2-11),与步骤(2-1)和(2-11)的区别主要在于备份文件的数据来源为当前主库。
本发明又一个实施例提供了一种数据库管理平台的故障修复装置,参见图3,该装置包括:
接收判断单元300,用于当接收到对数据库管理平台中故障数据库实例的修复命令时,判断故障数据库实例在发生故障前在实例组中的角色;
切换记录获取单元301,用于当故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;
第一故障修复单元302,用于当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
进一步的,上述装置还包括:第二故障修复单元303,用于对角色为主库的故障数据库实例,当没有获取到故障数据库实例对应的切换记录时,从实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
进一步的,上述装置还包括:第三故障修复单元304,用于当故障数据库实例的角色为从库时,判断故障数据库实例保存的主库信息是否与当前主库信息一致,若一致,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线;若不一致,从当前主库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
其中,数据库管理平台为每个数据库实例维护一条实例记录,该实例记录中包括实例标识ID、实例组ID;以及,切换记录表中包括实例组ID和切换记录,则记录获取单元301,用于根据故障数据库实例的实例ID查询该故障数据库实例的实例记录,得到该故障数据库实例的实例组ID;根据故障数据库实例的实例组ID查询切换记录表得到该故障数据库实例对应的切换记录。
其中,第二故障修复单元303,通过如下方式,从实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复:
接收管理侧发送的或定时任务发送的触发命令;根据触发命令利用故障数据库实例的实例ID和实例组ID从实例表中获取该实例组中正常运行的从库IP和端口;根据获取到的从库IP和端口,建立该从库和故障数据库实例之间的连接,并向该从库发送备份命令;将从库根据备份命令返回的备份文件压缩包放置在故障数据库实例所在的待修复主机中。
其中,第二故障修复单元303,还用于在将从库根据备份命令返回的备份文件压缩包放置在故障数据库实例的主机中之后,获取数据库管理平台为备份操作生成的备份日志,根据该备份日志中的日志完成标识验证备份文件的完整性,并按照MD5算法验证备份文件的正确性,其中,返回的备份文件压缩包采用消息摘要算法第五版MD5加密得到;当确认备份文件的完整性和正确性后,向故障数据库实例发送解压、恢复/数据导入命令,以使该故障数据库实例将备份文件压缩包解压缩后,将备份文件导入至故障数据库实例中,执行故障数据库实例的数据恢复操作;根据数据库管理平台为恢复操作生成的恢复执行日志,确认恢复的数据的完整性,并确认恢复的数据的目录权限满足数据库管理平台规定的目录权限;向故障数据库实例发送启动命令,判断数据库管理平台为启动操作生成的实例启动日志中不存在报错信息,确认该故障数据库实例正确启动;根据备份时刻记录的主从关系信息,向故障数据库实例发起建立主从关系命令,建立修复后故障数据库实例与实例组中当前主库的主从关系。
其中,第一故障修复单元302、第二故障修复单元303或第三故障修复单元304通过如下方式执行故障数据库实例与当前主库的同步操作:
验证日志传输健康状态(IO_Running)值和日志执行健康状态(SQL_Running)值,并获取同步延迟时间值;当日志传输健康状态值和日志执行健康状态值都指示同步健康,且获取到的同步延迟时间值指示延迟时间为零时,确认满足上线条件。
其中,上述装置利用数据库管理平台对数据库实例的状态进行监测,并将监测到的故障数据库实例的信息在数据库管理平台的交互界面上显示,则接收判断单元300接收通过点击信息发送的修复命令;和/或,上述装置利用数据库管理平台对数据库实例的状态进行监测,则接收判断单元300接收定时向监测到的故障数据库实例发送的修复命令。
本发明实施例至少具有如下有益效果:
1.自动实现数据库实例的主从关系建立;
2.支持人工触发和定时任务触发数据恢复操作的启动
3.实现自动的数据备份和恢复数据操作;
4.自动从实例组获取用于故障修复的备份文件;
5.支持对备份文件、文件传输和文件恢复的完整性和正确性的验证,保证故障修复的完整性和正确性;
6.自动检测同步状态,实现主库和从库之间的同步。
本发明实施例在数据库实例层次上对数据库的故障进行修复,通过保存数据库实例出现故障时数据库实例之间的切换记录,对主库角色的故障数据库实例利用切换记录建立主从关系、自动数据同步及上线,从而实现了对故障数据库实例的修复。
由上,本发明实施例提供了一种基于数据库管理平台的故障自动修复方案,无需人工干预数据库的修复操作,显著降低了数据修复时的出错率和人力成本;并且,在执行数据库修复时,无需中断在线提供服务的数据库服务,保证了数据库的正常运行。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据库管理平台的故障修复方法,其特征在于,所述方法包括:
当接收到对数据库管理平台中故障数据库实例的修复命令时,判断所述故障数据库实例在发生故障前在实例组中的角色;
当所述故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;
当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对角色为主库的故障数据库实例,当没有获取到故障数据库实例对应的切换记录时,从所述实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
3.根据权利要求2所述的方法,其特征在于,
当所述故障数据库实例的角色为从库时,判断故障数据库实例保存的主库信息是否与当前主库信息一致,
若一致,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库上线;
若不一致,从当前主库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
4.根据权利要求2所述的方法,其特征在于,为数据库管理平台中每个数据库实例维护一条实例记录,该实例记录中包括实例标识ID和实例组ID;所述切换记录表中包括实例组ID和切换记录,
所述从保存的切换记录表中获取故障数据库实例对应的切换记录包括:
根据故障数据库实例的实例ID查询该故障数据库实例的实例记录,得到该故障数据库实例的实例组ID;
根据所述故障数据库实例的实例组ID查询切换记录表得到该故障数据库实例对应的切换记录。
5.根据权利要求4所述的方法,其特征在于,所述从所述实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复包括:
接收管理侧发送的或定时任务发送的触发命令;
根据所述触发命令利用故障数据库实例的实例ID和实例组ID从实例表中获取该实例组中正常运行的从库IP和端口;
根据获取到的从库IP和端口,建立该从库和故障数据库实例之间的连接,并向该从库发送备份命令;
将所述从库根据所述备份命令返回的备份文件压缩包放置在故障数据库实例所在的待修复主机中。
6.根据权利要求5所述的方法,其特征在于,
在将所述从库根据所述备份命令返回的备份文件压缩包放置在故障数据库实例的主机中之后,所述方法还包括:
获取数据库管理平台为备份操作生成的备份日志,根据该备份日志中的日志完成标识验证备份文件的完整性,并按照MD5算法验证备份文件的正确性,其中,所述返回的备份文件压缩包采用消息摘要算法第五版MD5加密得到;
当确认备份文件的完整性和正确性后,向所述故障数据库实例发送解压、恢复/数据导入命令,以使该故障数据库实例将所述备份文件压缩包解压缩后,将备份文件导入至故障数据库实例中,执行故障数据库实例的数据恢复操作;
根据数据库管理平台为恢复操作生成的恢复执行日志,确认恢复的数据的完整性,并确认恢复的数据的目录权限满足数据库管理平台规定的目录权限;
向所述故障数据库实例发送启动命令,判断数据库管理平台为启动操作生成的实例启动日志中不存在报错信息,确认该故障数据库实例正确启动;
根据备份时刻记录的主从关系信息,向故障数据库实例发起建立主从关系命令,建立修复后故障数据库实例与实例组中当前主库的主从关系。
7.根据权利要求1所述的方法,其特征在于,所述执行故障数据库实例与当前主库的同步操作包括:
验证日志传输健康状态IO_Running值和日志执行健康状态SQL_Running值,并获取同步延迟时间值;
当日志传输健康状态值和日志执行健康状态值都指示同步健康,且获取到的同步延迟时间值指示延迟时间为零时,确认满足上线条件。
8.根据权利要求1所述的方法,其特征在于,所述接收到对数据库管理平台中故障数据库实例的修复命令包括:
利用数据库管理平台对数据库实例的状态进行监测,并将监测到的故障数据库实例的信息在数据库管理平台的交互界面上显示,接收通过点击所述信息发送的所述修复命令;和/或
利用数据库管理平台对数据库实例的状态进行监测,接收定时向监测到的故障数据库实例发送的所述修复命令。
9.一种数据库管理平台的故障修复装置,其特征在于,所述装置包括:
接收判断单元,用于当接收到对数据库管理平台中故障数据库实例的修复命令时,判断所述故障数据库实例在发生故障前在实例组中的角色;
切换记录获取单元,用于当所述故障数据库实例的角色为主库时,判断是否能从保存的切换记录表中获取故障数据库实例对应的切换记录;
第一故障修复单元,用于当获取到故障数据库实例对应的切换记录时,利用该切换记录建立该故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二故障修复单元,用于对角色为主库的故障数据库实例,当没有获取到故障数据库实例对应的切换记录时,从所述实例组中正常运行的从库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线;
第三故障修复单元,用于当所述故障数据库实例的角色为从库时,判断故障数据库实例保存的主库信息是否与当前主库信息一致,若一致,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线;若不一致,从当前主库中获取备份文件,利用该备份文件对故障数据库实例进行修复,建立修复后故障数据库实例与实例组中当前主库的主从关系,执行故障数据库实例与当前主库的同步操作,在满足上线条件后,将该故障数据库实例上线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310270209.5A CN104252500B (zh) | 2013-06-29 | 2013-06-29 | 一种数据库管理平台的故障修复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310270209.5A CN104252500B (zh) | 2013-06-29 | 2013-06-29 | 一种数据库管理平台的故障修复方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252500A true CN104252500A (zh) | 2014-12-31 |
CN104252500B CN104252500B (zh) | 2017-11-28 |
Family
ID=52187397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310270209.5A Active CN104252500B (zh) | 2013-06-29 | 2013-06-29 | 一种数据库管理平台的故障修复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104252500B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183874A (zh) * | 2015-09-19 | 2015-12-23 | 北京暴风科技股份有限公司 | 一种自维护的分布式数据库代理方法 |
CN105207809A (zh) * | 2015-08-25 | 2015-12-30 | 广州华多网络科技有限公司 | 一种数据处理方法、服务器、客户端和系统 |
CN105955989A (zh) * | 2015-12-31 | 2016-09-21 | 无锡华云数据技术服务有限公司 | 一种云平台数据库主从服务器的建立方法 |
CN106802895A (zh) * | 2015-11-26 | 2017-06-06 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106844163A (zh) * | 2017-03-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据库主从同步状态监控的方法以及装置 |
CN106874793A (zh) * | 2017-01-20 | 2017-06-20 | 北京小米移动软件有限公司 | 数据库的处理方法及装置 |
CN106888133A (zh) * | 2015-12-15 | 2017-06-23 | 中国电信股份有限公司 | 应用测速方法及装置 |
CN107087021A (zh) * | 2017-03-30 | 2017-08-22 | 聚好看科技股份有限公司 | 主从服务器确定方法及装置 |
CN107368392A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种从数据库的重建方法、主数据库及从数据库 |
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN110347658A (zh) * | 2019-06-11 | 2019-10-18 | 无线生活(杭州)信息科技有限公司 | 数据库实例切换方法及装置 |
WO2019200751A1 (zh) * | 2018-04-20 | 2019-10-24 | 平安科技(深圳)有限公司 | 主备切换方法、装置、计算机设备和存储介质 |
CN110569303A (zh) * | 2019-08-19 | 2019-12-13 | 杭州衣科信息技术有限公司 | 一种适用于多种云环境的MySQL应用层高可用系统及方法 |
CN110928713A (zh) * | 2018-09-19 | 2020-03-27 | 网宿科技股份有限公司 | 一种数据库服务的故障修复方法、相关装置及存储介质 |
CN111597192A (zh) * | 2020-04-10 | 2020-08-28 | 北京百度网讯科技有限公司 | 数据库的切换控制方法、装置及电子设备 |
CN112099444A (zh) * | 2020-08-14 | 2020-12-18 | 中铝智能科技发展有限公司 | 高可靠流程工业先进控制器集群管理方法 |
CN112667742A (zh) * | 2020-09-24 | 2021-04-16 | 紫光云技术有限公司 | 主从副本账号同步优化方法 |
CN113495811A (zh) * | 2021-06-22 | 2021-10-12 | 交控科技股份有限公司 | 数据库的主备倒切自动恢复方法、装置、设备及存储介质 |
CN114390377A (zh) * | 2020-10-19 | 2022-04-22 | 中国移动通信有限公司研究院 | 宽带接入系统的故障恢复方法及装置 |
CN115509796A (zh) * | 2022-11-01 | 2022-12-23 | 云和恩墨(北京)信息技术有限公司 | 处理故障节点的方法及装置、非易失性存储介质、处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702698B1 (en) * | 2005-03-01 | 2010-04-20 | Yahoo! Inc. | Database replication across different database platforms |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
CN102194009A (zh) * | 2011-06-09 | 2011-09-21 | 北京新媒传信科技有限公司 | 一种数据库托管方法和一种数据库托管平台系统 |
US20120150802A1 (en) * | 2009-08-25 | 2012-06-14 | Peter Popov | Database replication |
CN102932407A (zh) * | 2012-09-20 | 2013-02-13 | 无锡华御信息技术有限公司 | 基于云计算的安全备份系统及方法 |
-
2013
- 2013-06-29 CN CN201310270209.5A patent/CN104252500B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702698B1 (en) * | 2005-03-01 | 2010-04-20 | Yahoo! Inc. | Database replication across different database platforms |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
US20120150802A1 (en) * | 2009-08-25 | 2012-06-14 | Peter Popov | Database replication |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
CN102194009A (zh) * | 2011-06-09 | 2011-09-21 | 北京新媒传信科技有限公司 | 一种数据库托管方法和一种数据库托管平台系统 |
CN102932407A (zh) * | 2012-09-20 | 2013-02-13 | 无锡华御信息技术有限公司 | 基于云计算的安全备份系统及方法 |
Non-Patent Citations (3)
Title |
---|
余洪春: ""第6章 构建高可用的linux集群"", 《书名:构建高可用LINUX服务器》 * |
王锐: ""搭建MySQL 数据库主从库平台实现数据备份"", 《电脑编程技巧与维护》 * |
黄慧佳: ""四川省电力公司技术技能培训中心数据备份与恢复系统的"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207809A (zh) * | 2015-08-25 | 2015-12-30 | 广州华多网络科技有限公司 | 一种数据处理方法、服务器、客户端和系统 |
CN105183874A (zh) * | 2015-09-19 | 2015-12-23 | 北京暴风科技股份有限公司 | 一种自维护的分布式数据库代理方法 |
CN106802895A (zh) * | 2015-11-26 | 2017-06-06 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106802895B (zh) * | 2015-11-26 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106888133B (zh) * | 2015-12-15 | 2019-11-15 | 中国电信股份有限公司 | 应用测速方法及装置 |
CN106888133A (zh) * | 2015-12-15 | 2017-06-23 | 中国电信股份有限公司 | 应用测速方法及装置 |
CN105955989A (zh) * | 2015-12-31 | 2016-09-21 | 无锡华云数据技术服务有限公司 | 一种云平台数据库主从服务器的建立方法 |
CN106874793A (zh) * | 2017-01-20 | 2017-06-20 | 北京小米移动软件有限公司 | 数据库的处理方法及装置 |
CN106874793B (zh) * | 2017-01-20 | 2020-07-10 | 北京小米移动软件有限公司 | 数据库的处理方法及装置 |
CN106844163A (zh) * | 2017-03-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据库主从同步状态监控的方法以及装置 |
CN107087021A (zh) * | 2017-03-30 | 2017-08-22 | 聚好看科技股份有限公司 | 主从服务器确定方法及装置 |
CN107087021B (zh) * | 2017-03-30 | 2020-10-16 | 聚好看科技股份有限公司 | 主从服务器确定方法及装置 |
CN107368392A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种从数据库的重建方法、主数据库及从数据库 |
WO2019169771A1 (zh) * | 2018-03-06 | 2019-09-12 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
WO2019200751A1 (zh) * | 2018-04-20 | 2019-10-24 | 平安科技(深圳)有限公司 | 主备切换方法、装置、计算机设备和存储介质 |
CN110928713A (zh) * | 2018-09-19 | 2020-03-27 | 网宿科技股份有限公司 | 一种数据库服务的故障修复方法、相关装置及存储介质 |
CN110928713B (zh) * | 2018-09-19 | 2024-04-05 | 深圳爱捷云科技有限公司 | 一种数据库服务的故障修复方法、相关装置及存储介质 |
CN110347658A (zh) * | 2019-06-11 | 2019-10-18 | 无线生活(杭州)信息科技有限公司 | 数据库实例切换方法及装置 |
CN110569303A (zh) * | 2019-08-19 | 2019-12-13 | 杭州衣科信息技术有限公司 | 一种适用于多种云环境的MySQL应用层高可用系统及方法 |
CN111597192B (zh) * | 2020-04-10 | 2023-10-03 | 北京百度网讯科技有限公司 | 数据库的切换控制方法、装置及电子设备 |
CN111597192A (zh) * | 2020-04-10 | 2020-08-28 | 北京百度网讯科技有限公司 | 数据库的切换控制方法、装置及电子设备 |
CN112099444A (zh) * | 2020-08-14 | 2020-12-18 | 中铝智能科技发展有限公司 | 高可靠流程工业先进控制器集群管理方法 |
CN112099444B (zh) * | 2020-08-14 | 2024-03-01 | 中铝智能科技发展有限公司 | 高可靠流程工业先进控制器集群管理方法 |
CN112667742A (zh) * | 2020-09-24 | 2021-04-16 | 紫光云技术有限公司 | 主从副本账号同步优化方法 |
CN114390377A (zh) * | 2020-10-19 | 2022-04-22 | 中国移动通信有限公司研究院 | 宽带接入系统的故障恢复方法及装置 |
CN113495811A (zh) * | 2021-06-22 | 2021-10-12 | 交控科技股份有限公司 | 数据库的主备倒切自动恢复方法、装置、设备及存储介质 |
CN113495811B (zh) * | 2021-06-22 | 2024-08-06 | 交控科技股份有限公司 | 数据库的主备倒切自动恢复方法、装置、设备及存储介质 |
CN115509796A (zh) * | 2022-11-01 | 2022-12-23 | 云和恩墨(北京)信息技术有限公司 | 处理故障节点的方法及装置、非易失性存储介质、处理器 |
CN115509796B (zh) * | 2022-11-01 | 2023-03-10 | 云和恩墨(北京)信息技术有限公司 | 处理故障节点的方法及装置、非易失性存储介质、处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN104252500B (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252500B (zh) | 一种数据库管理平台的故障修复方法和装置 | |
CN103077242B (zh) | 一种实现数据库服务器双机热备的方法 | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CN101706795B (zh) | 主备服务器上数据库数据同步方法 | |
CN100449548C (zh) | 数据库同步方法及系统 | |
CN104506625B (zh) | 一种提升云数据库元数据节点可靠性的方法 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
CN102810111B (zh) | 一种保持Oracle数据库服务高可用的实现方法和系统 | |
CN103853837B (zh) | Oracle全自动不停生产数据库的表级备份恢复方法 | |
CN106815097A (zh) | 数据库容灾系统和方法 | |
CN103812699A (zh) | 基于云计算的监控管理系统 | |
CN112506702B (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN104572357A (zh) | 一种用于hdfs系统的备份和恢复方法 | |
CN104252485A (zh) | 一种数据库管理平台 | |
CN102945195A (zh) | 一种基于SQLite数据库的主备冗余复制方法 | |
CN103345470A (zh) | 一种数据库容灾方法、系统及服务器 | |
CN104252502A (zh) | 一种数据库管理平台中数据迁移方法和装置 | |
CN103294787A (zh) | 分布式数据库系统的多副本存储方法和系统 | |
CN110063042B (zh) | 一种数据库故障的响应方法及其终端 | |
CN104243195A (zh) | 异地灾备处理方法及装置 | |
CN103136070A (zh) | 一种数据容灾处理的方法和装置 | |
CN104615511A (zh) | 一种基于双中心的主机批量恢复处理方法及装置 | |
CN108810150A (zh) | 协同办公系统应用级灾备系统的数据复制方法 | |
CN107590029A (zh) | 用于水电站的计算机监控系统数据备份及恢复系统方法 | |
CN105389231A (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 | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602 Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |