CN111427720A - 数据库修复方法、装置、计算机设备及存储介质 - Google Patents

数据库修复方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111427720A
CN111427720A CN202010099145.7A CN202010099145A CN111427720A CN 111427720 A CN111427720 A CN 111427720A CN 202010099145 A CN202010099145 A CN 202010099145A CN 111427720 A CN111427720 A CN 111427720A
Authority
CN
China
Prior art keywords
database
configuration parameters
mysq
file
service
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.)
Pending
Application number
CN202010099145.7A
Other languages
English (en)
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010099145.7A priority Critical patent/CN111427720A/zh
Publication of CN111427720A publication Critical patent/CN111427720A/zh
Pending legal-status Critical Current

Links

Images

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/1448Management of the data involved in backup or backup restore
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据库修复方法、装置、计算机设备及存储介质,其中所述方法包括获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;将所述配置文件中的原始配置参数修改为预设的目标配置参数;重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。本发明可以实现数据库的快速修复,便于高效便捷地维护数据库。

Description

数据库修复方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种数据库修复方法、装置、计算机设备及存储介质。
背景技术
MySQL数据库是很多技术公司用到的传统数据库中的一种,其使用时具备体积小、速度快、总体拥有成本低的特点,并且还是开源的,同时提供的接口支持多种语言连接操作。该数据库使用起来简单快捷,目前90%技术公司都有用到此数据库进行业务分析、产品的后台支持等操作。
目前市面上对于MySQL数据库的元数据或数据库文件损坏,在没有对数据库整库备份的情况下并没有一个很好的解决方案。倘若MySQL数据库在操作过程中有不当操作,如删除或修改元数据库中的数据或者部分数据库文件损坏,会直接导致MySQL服务宕机,从而造成MySQL数据库服务不可用,但是目前恢复数据或数据库的方法过程繁琐甚至可能会使得MySQL数据库很难恢复,最终可能导致用户操作不了数据库信息,并且使得数据库中的数据丢失,降低了维护数据库的效率和便捷性。
发明内容
本发明实施例提供一种数据库修复方法、装置、计算机设备及存储介质,能够实现数据库的快速修复,便于高效便捷地维护数据库。
第一方面,本发明实施例提供了一种数据库修复方法,该方法包括:
若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;
打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;
将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作;
重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;
将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
第二方面,本发明实施例还提供了一种数据库修复装置,该装置包括:
文件获取单元,用于若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;
第一处理单元,用于打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;
参数修改单元,用于将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作;
服务重启单元,用于重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;
恢复单元,用于将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种数据库修复方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作;重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。本发明实施例由于能够根据数据库修复指令,通过对数据库存储目录下的相关文件以及参数处理调整等操作,可实现数据库的快速修复,便于高效便捷地维护数据库,也提高MySQL服务的可用性的效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据库修复方法的流程示意图;
图1a是本发明实施例提供的一种数据库修复方法的应用场景示意图;
图2是本发明实施例提供的一种数据库修复方法的子流程示意图;
图3是本发明实施例提供的一种数据库修复装置的示意性框图;
图4是本发明实施例提供的一种数据库修复装置的参数修改单元的示意性框图;
图5是本发明实施例提供的一种计算机设备结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1和图1a,图1是本申请实施例提供的一种数据库修复方法的示意流程图,图1a是本申请实施例中数据库修复方法的场景示意图。该数据库修复方法应用于管理服务器10中。该管理服务器10能够根据数据库修复指令,通过对数据库20存储目录下的相关文件以及参数处理调整等操作,可以实现数据库20的快速修复,便于高效便捷地维护数据库,也提高MySQL服务的可用性。以下将以管理服务器10的角度详细地介绍该数据库修复方法的各个步骤。
请参阅图1,图1是本发明实施例提供的一种数据库修复方法的示意流程图。如图1所示,该方法的步骤包括步骤S101~S105。
步骤S101,若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录。
在本实施例中,当管理服务器接收到MySQL数据库的修复指令后,可以根据该修复指令调取MySQL数据库中的预先设置的配置文件,该预设的配置文件中包括数据库存储目录等信息。具体地,预设的配置文件可以是MySQL数据库的安装目录下的my.ini文件,打开该配置文件可以找到其中的datadir配置,此datadir配置为数据库存储目录,如:C:/ProgramData/MySQL/MySQL Server5.7/Data;数据库存储目录是数据库服务器存放数据文件的地方,不仅包括有关表的文件,还包括数据文件和的服务器选项文件等。
步骤S102,打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件。
在本实施例中,所述数据库存储目录包括ib_logfile0、ib_logfile1、WIN-JNPFE87FGBI.log、WIN-JNPFE87FGBI.err、WIN-JNPFE87FGBI.pid、ibtmp1、ib_buffer_pool等文件,还包括共享表空间以及包括所有表结构文件的第一文件夹,所述共享表空间可以是指ibdata1文件,该ibdata1文件为用来储存MySQL数据库的表数据的文件;该第一文件夹下为数据库下的所有数据表的表结构文件;若缺少一个表结构文件则有的数据表在数据库中可能会恢复地不准确。管理服务器可以打开所确定的数据库存储目录,从而获取该数据库存储目录下的所有文件,为实现对数据库的修复,此时可以删除除共享表空间和第一文件夹以外的其他所有文件,此时通过共享表空间中的表数据和第一文件夹中的所有表结构文件能够为实现对数据库的修复的数据支撑。
步骤S103,将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作。
在本实施例中,管理服务器能够将配置文件中的原始配置参数修改为预设的目标配置参数,即可以修改my.ini文件中的相关配置信息,从而控制配置文件中的默认存储引擎在加载的时候不支持事务。通常,配置文件中可以包括多个原始配置参数,不同的原始配置参数对应不同的部件。如,默认存储引擎的原始配置参数可以是InnoDB,即默认存储引擎为InnoDB存储引擎,而默认存储引擎的预设的目标配置参数可以是MyISAM,即此时的默认存储引擎为MyISAM存储引擎,MyISAM存储引擎在加载时不支持事务。事务在本实施例中具体是指数据库事务,是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
又如,修复工具可以是innodb_force_recovery,其原始配置参数可以是0,或者无设置,此时,修复工具的目标配置参数可以是6,以使修复工具在运行时不执行前滚操作。具体的,其中innodb_force_recovery影响整个InnoDB存储引擎的恢复状况,其原始配置参数的默认值为0,表示当需要恢复时执行所有的恢复操作。当不能进行有效的恢复操作时,mySQL有可能无法启动,并记录下错误日志;当其参数设置为6时表示不执行前滚的操作,忽略一切检查。
在一实施例中,如图2所示,所述原始配置参数包括默认存储引擎的原始配置参数以及修复工具的原始配置参数,预设的目标配置参数包括默认存储引擎的目标配置参数以及修复工具的目标配置参数。所述步骤S103具体可以包括步骤S201~S203。
步骤S201,获取所述配置文件中的默认存储引擎的原始配置参数,并将所述默认存储引擎的原始配置参数修改为相应的目标配置参数,以使默认存储引擎在加载时不支持事务。
其中,管理服务器能够获取所述配置文件中的默认存储引擎的原始配置参数,如InnoDB,并将其修改为目标配置参数,如MyISAM,从而使得默认存储引擎在加载时不支持事务。
步骤S202,判断所述配置文件中是否包括修复工具的原始配置参数。其中,修复工具的原始配置参数可能进行设置,或者设置为默认值0,为进行后续操作需要管理服务器进行相应的判断。
步骤S203,若所述配置文件中包括修复工具的原始配置参数,则将所述修复工具的原始配置参数修改为相应的目标配置参数,以使修复工具在运行时不执行前滚操作。其中,若所述配置文件中包括修复工具的原始配置参数,此时,可直接将修复工具的原始配置参数修改为相应的目标配置参数,如,将参数的默认值0修改为6。
在一实施例中,所述方法还包括:
步骤S204,若所述配置文件中不包括修复工具的原始配置参数,则为所述修复工具的配置相应的目标配置参数,以使修复工具在运行时不执行前滚操作。其中,若所述配置文件中不包括修复工具的原始配置参数,此时则直接为修复工具配置目标配置参数6,以使修复工具在运行时不执行前滚操作。
步骤S104,重启MySQL服务以将MySQL数据库备份为SQL文件进行存储。
在本实施例中,管理服务器在完成上述参数配置后,可以重启MySQL服务,从而将MySQL数据库备份为SQL文件,并将SQL文件进行存储,以便后续操作。
在一实施例中,所述步骤S104可以包括:重启MySQL服务以根据共享表空间中的表数据以及第一文件夹中的表结构将MySQL数据库备份为SQL文件进行存储。
在本实施例中,配置文件中的数据库存储目录下仅包括共享表空间中的表数据以及第一文件夹中的表结构,故此时生成的SQL文件为全新的文件,能够为出现错误或者缺陷的MySQL数据库的恢复提供数据信息。
步骤S105,将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
在本实施例中,为实现数据库恢复,在完成重启MySQL服务后,将配置文件中已设置的目标配置参数修改还原为原始配置参数。如,默认存储引擎的目标配置参数可以是MyISAM,即默认存储引擎修改参数后为MyISAM存储引擎,此时则将默认存储引擎的配置参数修改还原为原始配置参数InnoDB,即此时的默认存储引擎可修改还原为InnoDB存储引擎。
又如,修复工具可以是innodb_force_recovery,其目标配置参数可以是6,此时,修复工具的配置参数需要修改还原为原始配置参数0或者注销,以使修复工具在运行时执行所有的恢复操作。
完成相关配置参数的修改还原后,管理服务器可以再次重启该MySQL服务,然后根据所备份的SQL文件实现数据库恢复,以便于数据库的正常使用。上述数据库恢复方法不仅能够提供数据库修复的速率,还能够确保数据库恢复的准确性,提高用户的使用体验度。
在一实施例中,所述步骤S105之后还可以包括以下步骤:
步骤S106,若检测到数据库恢复不成功,获取预设的MySQL安装包以安装新的MySQL服务。
其中,若管理服务器检测到数据库恢复不成功,此时可以获取预先设置的MySQL安装包,通过解析该MySQL安装包可以实现对新的MySQL服务的安装。为便于操作,可以在本机进行新的MySQL服务的安装,也可以根据需要在其他服务器上安装与当前MySQL服务的版本号相同的新的MySQL服务。
步骤S107,将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,并删除新的MySQL服务对应的数据库存储目录的原有文件,并返回执行所述步骤S103。
其中,当在本机进行新的MySQL服务的安装之后,可以将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,此时新的MySQL服务对应的数据库存储目录下的所有文件均应删除,以便于通过新的MySQL服务以及原有的数据和表结构实现对当前数据库的恢复。
综上,本发明实施例由于能够根据数据库修复指令,通过对数据库存储目录下的相关文件以及参数处理调整等操作,可实现数据库的快速修复,便于高效便捷地维护数据库,也提高MySQL服务的可用性的效果。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图3,对应上述一种数据库修复方法,本发明实施例还提出一种数据库修复装置,该装置100包括:文件获取单元101、第一处理单元102、参数修改单元103、服务重启单元104以及恢复单元105。
所述文件获取单元101,用于若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录。
在本实施例中,当管理服务器接收到MySQL数据库的修复指令后,可以根据该修复指令调取MySQL数据库中的预先设置的配置文件,该预设的配置文件中包括数据库存储目录等信息。具体地,预设的配置文件可以是MySQL数据库的安装目录下的my.ini文件,打开该配置文件可以找到其中的datadir配置,此datadir配置为数据库存储目录,如:C:/ProgramData/MySQL/MySQL Server 5.7/Data;数据库存储目录是数据库服务器存放数据文件的地方,不仅包括有关表的文件,还包括数据文件和的服务器选项文件等。
所述第一处理单元102,用于打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件。
在本实施例中,所述数据库存储目录包括ib_logfile0、ib_logfile1、WIN-JNPFE87FGBI.log、WIN-JNPFE87FGBI.err、WIN-JNPFE87FGBI.pid、ibtmp1、ib_buffer_pool等文件,还包括共享表空间以及包括所有表结构文件的第一文件夹,所述共享表空间可以是指ibdata1文件,该ibdata1文件为用来储存MySQL数据库的表数据的文件;该第一文件夹下为数据库下的所有数据表的表结构文件;若缺少一个表结构文件则有的数据表在数据库中可能会恢复地不准确。管理服务器可以打开所确定的数据库存储目录,从而获取该数据库存储目录下的所有文件,为实现对数据库的修复,此时可以删除除共享表空间和第一文件夹以外的其他所有文件,此时通过共享表空间中的表数据和第一文件夹中的所有表结构文件能够为实现对数据库的修复的数据支撑。
所述参数修改单元103,用于将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作。
在本实施例中,管理服务器能够将配置文件中的原始配置参数修改为预设的目标配置参数,即可以修改my.ini文件中的相关配置信息,从而控制配置文件中的默认存储引擎在加载的时候不支持事务。通常,配置文件中可以包括多个原始配置参数,不同的原始配置参数对应不同的部件。如,默认存储引擎的原始配置参数可以是InnoDB,即默认存储引擎为InnoDB存储引擎,而默认存储引擎的预设的目标配置参数可以是MyISAM,即此时的默认存储引擎为MyISAM存储引擎,MyISAM存储引擎在加载时不支持事务。事务在本实施例中具体是指数据库事务,是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
又如,修复工具可以是innodb_force_recovery,其原始配置参数可以是0,或者无设置,此时,修复工具的目标配置参数可以是6,以使修复工具在运行时不执行前滚操作。具体的,其中innodb_force_recovery影响整个InnoDB存储引擎的恢复状况,其原始配置参数的默认值为0,表示当需要恢复时执行所有的恢复操作。当不能进行有效的恢复操作时,mySQL有可能无法启动,并记录下错误日志;当其参数设置为6时表示不执行前滚的操作,忽略一切检查。
在一实施例中,如图4所示,所述原始配置参数包括默认存储引擎的原始配置参数以及修复工具的原始配置参数,预设的目标配置参数包括默认存储引擎的目标配置参数以及修复工具的目标配置参数。作为可选的,所述修复工具为innodb_force_recovery,其原始配置参数为0,其目标配置参数为6。所述参数修改单元103包括参数获取单元201、参数判断单元202以及参数调整单元203。
所述参数获取单元201,用于获取所述配置文件中的默认存储引擎的原始配置参数,并将所述默认存储引擎的原始配置参数修改为相应的目标配置参数,以使默认存储引擎在加载时不支持事务。
其中,管理服务器能够获取所述配置文件中的默认存储引擎的原始配置参数,如InnoDB,并将其修改为目标配置参数,如MyISAM,从而使得默认存储引擎在加载时不支持事务。
所述参数判断单元202,用于判断所述配置文件中是否包括修复工具的原始配置参数。其中,修复工具的原始配置参数可能进行设置,或者设置为默认值0,为进行后续操作需要管理服务器进行相应的判断。
所述参数调整单元203,用于若所述配置文件中包括修复工具的原始配置参数,则将所述修复工具的原始配置参数修改为相应的目标配置参数,以使修复工具在运行时不执行前滚操作。其中,若所述配置文件中包括修复工具的原始配置参数,此时,可直接将修复工具的原始配置参数修改为相应的目标配置参数,如,将参数的默认值0修改为6。
在一实施例中,所述参数修改单元103还包括:
参数配置单元204,用于若所述配置文件中不包括修复工具的原始配置参数,则为所述修复工具的配置相应的目标配置参数,以使修复工具在运行时不执行前滚操作。其中,若所述配置文件中不包括修复工具的原始配置参数,此时则直接为修复工具配置目标配置参数6,以使修复工具在运行时不执行前滚操作。
所述服务重启单元104,用于重启MySQL服务以将MySQL数据库备份为SQL文件进行存储。
在本实施例中,管理服务器在完成上述参数配置后,可以重启MySQL服务,从而将MySQL数据库备份为SQL文件,并将SQL文件进行存储,以便后续操作。
在一实施例中,所述服务重启单元104还具体用于重启MySQL服务以根据共享表空间中的表数据以及第一文件夹中的表结构将MySQL数据库备份为SQL文件进行存储。
在本实施例中,配置文件中的数据库存储目录下仅包括共享表空间中的表数据以及第一文件夹中的表结构,故此时生成的SQL文件为全新的文件,能够为出现错误或者缺陷的MySQL数据库的恢复提供数据信息。
所述恢复单元105,用于将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
在本实施例中,为实现数据库恢复,在完成重启MySQL服务后,将配置文件中已设置的目标配置参数修改还原为原始配置参数。如,默认存储引擎的目标配置参数可以是MyISAM,即默认存储引擎修改参数后为MyISAM存储引擎,此时则将默认存储引擎的配置参数修改还原为原始配置参数InnoDB,即此时的默认存储引擎可修改还原为InnoDB存储引擎。
又如,修复工具可以是innodb_force_recovery,其目标配置参数可以是6,此时,修复工具的配置参数需要修改还原为原始配置参数0或者注销,以使修复工具在运行时执行所有的恢复操作。
完成相关配置参数的修改还原后,管理服务器可以再次重启该MySQL服务,然后根据所备份的SQL文件实现数据库恢复,以便于数据库的正常使用。上述数据库恢复方法不仅能够提供数据库修复的速率,还能够确保数据库恢复的准确性,提高用户的使用体验度。
在一实施例中,所述装置还包括:
安装单元106,用于若检测到数据库恢复不成功,获取预设的MySQL安装包以安装新的MySQL服务。
其中,若管理服务器检测到数据库恢复不成功,此时可以获取预先设置的MySQL安装包,通过解析该MySQL安装包可以实现对新的MySQL服务的安装。为便于操作,可以在本机进行新的MySQL服务的安装,也可以根据需要在其他服务器上安装与当前MySQL服务的版本号相同的新的MySQL服务。
第二处理单元107,用于将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,并删除新的MySQL服务对应的数据库存储目录的原有文件,并返回执行所述参数修改单元。
其中,当在本机进行新的MySQL服务的安装之后,可以将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,此时新的MySQL服务对应的数据库存储目录下的所有文件均应删除,以便于通过新的MySQL服务以及原有的数据和表结构实现对当前数据库的恢复。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据库修复装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
由以上可见,在硬件实现上,以上文件获取单元101、第一处理单元102、参数修改单元103、服务重启单元104以及恢复单元105等可以以硬件形式内嵌于或独立于数据库修复的装置中,也可以以软件形式存储于数据库修复装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述数据库修复装置可以实现为一种计算机程序的形式,计算机程序可以在如图5所示的计算机设备上运行。
图5为本发明一种计算机设备的结构组成示意图。该设备可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参照图5,该计算机设备300包括通过系统总线301连接的处理器302、存储器、内存储器304和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032,该计算机程序3032被执行时,可使得处理器302执行一种数据库修复方法。
该处理器302用于提供计算和控制能力,支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种数据库修复方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如上述实施例中的一种数据库修复方法中的步骤。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如上述实施例中的一种数据库修复方法中的步骤。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据库修复方法,其特征在于,所述方法包括:
若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;
打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;
将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作;
重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;
将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
2.如权利要求1所述的方法,其特征在于,所述将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复的步骤之后,还包括:
若检测到数据库恢复不成功,获取预设的MySQL安装包以安装新的MySQL服务;
将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,并删除新的MySQL服务对应的数据库存储目录的原有文件,并返回执行所述将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作的步骤。
3.如权利要求1所述的方法,其特征在于,所述原始配置参数包括默认存储引擎的原始配置参数以及修复工具的原始配置参数,预设的目标配置参数包括默认存储引擎的目标配置参数以及修复工具的目标配置参数;所述将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作的步骤,包括:
获取所述配置文件中的默认存储引擎的原始配置参数,并将所述默认存储引擎的原始配置参数修改为相应的目标配置参数,以使默认存储引擎在加载时不支持事务;
判断所述配置文件中是否包括修复工具的原始配置参数;
若所述配置文件中包括修复工具的原始配置参数,则将所述修复工具的原始配置参数修改为相应的目标配置参数,以使修复工具在运行时不执行前滚操作。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述配置文件中不包括修复工具的原始配置参数,则为所述修复工具配置相应的目标配置参数,以使修复工具在运行时不执行前滚操作。
5.如权利要求1所述的方法,其特征在于,所述重启MySQL服务以将MySQL数据库备份为SQL文件进行存储的步骤,包括:
重启MySQL服务以根据共享表空间中的表数据以及第一文件夹中的表结构将MySQL数据库备份为SQL文件进行存储。
6.一种数据库修复装置,其特征在于,所述装置包括:
文件获取单元,用于若接收到MySQL数据库修复指令,获取MySQL数据库中的预设的配置文件以确定相应的数据库存储目录;
第一处理单元,用于打开所述数据库存储目录并获取该数据库存储目录下的共享表空间以及包括所有表结构文件的第一文件夹,并删除所述数据库存储目录下的除所获取的共享表空间和第一文件夹之外的所有文件;
参数修改单元,用于将所述配置文件中的原始配置参数修改为预设的目标配置参数,以使配置文件中的默认存储引擎在加载时不支持事务,并使配置文件中的修复工具在运行时不执行前滚操作;
服务重启单元,用于重启MySQL服务以将MySQL数据库备份为SQL文件进行存储;
恢复单元,用于将所述配置文件中的已设置的目标配置参数修改为原始配置参数,并再次重启MySQL服务,以根据所备份的SQL文件实现数据库恢复。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
安装单元,用于若检测到数据库恢复不成功,获取预设的MySQL安装包以安装新的MySQL服务;
第二处理单元,用于将当前的MySQL服务对应的数据库存储目录下的共享表空间以及包括所有表结构文档的第一文件夹复制至新的MySQL服务对应的数据库存储目录下,并删除新的MySQL服务对应的数据库存储目录的原有文件,并返回执行所述参数修改单元。
8.如权利要求6所述的装置,其特征在于,所述原始配置参数包括默认存储引擎的原始配置参数以及修复工具的原始配置参数,预设的目标配置参数包括默认存储引擎的目标配置参数以及修复工具的目标配置参数;所述参数修改单元包括,
参数获取单元,用于获取所述配置文件中的默认存储引擎的原始配置参数,并将所述默认存储引擎的原始配置参数修改为相应的目标配置参数,以使默认存储引擎在加载时不支持事务;
参数判断单元,用于判断所述配置文件中是否包括修复工具的原始配置参数;
参数调整单元,用于若所述配置文件中包括修复工具的原始配置参数,则将所述修复工具的原始配置参数修改为相应的目标配置参数,以使修复工具在运行时不执行前滚操作。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1-5中任一项所述的方法。
CN202010099145.7A 2020-02-18 2020-02-18 数据库修复方法、装置、计算机设备及存储介质 Pending CN111427720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010099145.7A CN111427720A (zh) 2020-02-18 2020-02-18 数据库修复方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010099145.7A CN111427720A (zh) 2020-02-18 2020-02-18 数据库修复方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111427720A true CN111427720A (zh) 2020-07-17

Family

ID=71547148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010099145.7A Pending CN111427720A (zh) 2020-02-18 2020-02-18 数据库修复方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111427720A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737467A (zh) * 2023-08-15 2023-09-12 金篆信科有限责任公司 数据库自动检测和修复的方法、装置、系统及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737467A (zh) * 2023-08-15 2023-09-12 金篆信科有限责任公司 数据库自动检测和修复的方法、装置、系统及介质

Similar Documents

Publication Publication Date Title
US8015430B1 (en) Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
CN108416040B (zh) 一种数据库修复方法、装置、终端设备及存储介质
US20070055969A1 (en) System and method for updating firmware
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
US6754842B2 (en) Facilitating a restart operation within a data processing system
CN112181769A (zh) 应用异常数据采集方法、装置、计算机设备及存储介质
CN111427720A (zh) 数据库修复方法、装置、计算机设备及存储介质
CN108664255B (zh) 一种软件升级方法及装置
CN112333008B (zh) 一种云主机整机备份还原方法、装置、设备及存储介质
US20070106701A1 (en) Method and system for updating an application
CN115576743B (zh) 操作系统恢复方法、装置、计算机设备和存储介质
CN108089942B (zh) 一种数据备份、恢复方法及装置
CN111427718B (zh) 文件备份方法、恢复方法及装置
CN113535470A (zh) 组态备份方法、装置、电子设备和存储介质
CN113986871A (zh) 一种数据迁移方法、装置、服务器及可读存储介质
CN112527327A (zh) 一种uos操作系统恢复出厂的方法、系统、终端及存储介质
CN107423166B (zh) 一种基于overlay文件系统的数据处理方法及系统
US9733929B1 (en) Systems and methods for restoring applications
CN113708981B (zh) 云主机系统故障修复方法、系统
US20140222765A1 (en) Method, System and Client Terminal for Restoring Operating System
CN112015431B (zh) 一键修改固件信息的方法、装置、计算机设备及存储介质
US11962696B2 (en) Encryption key removal tool
JP2003140905A (ja) システムプログラムのバージョンアップ方法,システムプログラムのバージョンアップ用プログラムおよびシステムプログラムのバージョンアップ用プログラム記録媒体
CN115437840A (zh) 一种还原型桌面实现文件和目录备份的方法及系统
JP2007226733A (ja) データベースの正常性チェック方法、正常性チェックプログラム、および正常性チェック装置

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