MySQL 8数据库恢复指南:从删库到跑路的全过程(MYD MYI SDI)

MySQL作为最常见的关系数据库之一,因其开源和免费的特性而被广泛使用。然而,当数据库误删且没有备份的情况下,如何进行有效的恢复成为一个紧迫的问题。本文将介绍MySQL 8.0数据库误删的恢复方法,并探讨在Dz3.4论坛系统中应用相似策略的可能性。

MySQL 8.0数据库误删恢复步骤

  1. 创建数据库和表结构 首先,我们创建一个数据库(例如bbskali)及相关数据表。此时,MySQL 8.0.12版本会在MySQL安装目录下的data文件夹生成与数据库相对应的三个文件:XXX.sdi(表结构文件)、XXX.MYD(数据文件)、XXX.MYI(索引文件)。sql复制CREATE DATABASE bbskali; CREATE TABLE `bbskali`.`nbkali` ( `id` INT(255) NOT NULL, `name` CHAR(255) NOT NULL, `number` INT(255) NOT NULL, `age` INT(255) NOT NULL ) ENGINE = MyISAM;
  2. 删除数据库 删除刚创建的数据库,观察MySQL安装目录下的data文件夹中相应的文件。
  3. 复制文件并新建数据库 复制被删除数据库的文件(XXX.sdi、XXX.MYD、XXX.MYI),并新建一个数据库(例如bbskali2)及相应表结构(字段可不填写数值)。
  4. 替换文件并重启数据库 替换新建数据库的XXX.MYD和XXX.MYI文件,将旧数据库的XXX.sdi文件重命名后替换新数据库的XXX.sdi文件。最后,重启数据库,即可完成数据的恢复。

Dz3.4论坛系统删库恢复策略

在Dz3.4论坛系统中,采用类似的策略进行误删数据库的恢复:

  1. 获取Dz表结构 通过重装Dz论坛系统,获取相应的表结构。
  2. 替换文件并重启数据库 复制原站的data目录,将其中的MYD和MYI文件全部替换,同时找到对应的.sdi文件,将其重命名后替换。最后,重启数据库。
  3. 注意弊端
    • 不建议在数据表较多的情况下采用此方法,除非迫不得已。
    • 无法恢复Dz插件的数据,因为插件的.sdi文件信息丢失。
    • 对于Dz系统,建议只恢复关键表(如用户表和帖子表),其他设置可在后台重新配置。
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容