从数据文件夹备份中恢复mysql数据库

Ali*_*ori 13 mysql phpmyadmin

我已经卸载旧的XAMPP并删除了所有内容d:\xampp folder并安装了新的内容.当我将备份文件夹(包含我的数据库的名称,包含所有文件.frm.opt文件)复制到该文件夹时D:\xampp\mysql\data,数据库显示在phpmyadmin的列表中,但它没有表和数据.我做错了什么?

Ahm*_*eri 26

这是我处理这种情况的方式:

  1. 停止阿帕奇 MySQL的从XAMPP控制面板服务.
  2. 备份(以防万一),然后data从新的xampp安装文件夹中删除该文件夹<physical_drive>/xampp/mysql.

    (该data文件夹包含表的架构/表定义(.frm文件).)

  3. data从下一个xampp文件夹(或备份)中复制文件夹mysql并将其粘贴到新位置(即<physical_drive>/xampp/mysql).
  4. 现在开始Apache的MySQL的从XAMPP的控制面板服务.

在那里,当你点击它们时,表格应该显示它们的结构.

注意:确保bin将xampp安装文件夹下的文件夹保持不变.


小智 10

  1. 将所有旧数据库从旧数据库复制到此目录下新安装的 Xampp

C:\xampp\mysql\data\

  1. 从新的 xampp (C:\xampp\mysql\data) 复制以下文件并保持备份

ib_logfile0、ib_logfile1 和 ibdata1

  1. 同样将ib_logfile0、ib_logfile1和ibdata1从旧的xampp复制并替换到新的xampp

  2. 如果以前的 Db 已崩溃或错误,如 mysqld.exe 已停止工作,请使用 mysql 的 my.ini 文件中的 2 行以下

    [mysqld]

innodb_force_recovery = 2

innodb_file_per_table=1

  1. 重新启动 Apache 和 MYSQL 并转到 PHPMyadmin 以导出您以前的数据库。
  2. 最后替换之前备份的 ib_logfile0、ib_logfile1 和 ibdata1


小智 7

有可能,我找到了一个解决方案:

  1. 安装新的xampp
  2. 将旧数据库文件夹从xampp\mysql\data\databasefolder复制到正在运行的xampp文件夹中的粘贴
    C:\ xampp\mysql\data
  3. 之后停止mysql和apache服务然后备份正在运行的xampp文件ib_logfile0,ib_logfile1和ibdata1并存储在安全的地方
  4. 然后从旧的xampp\mysql\data \复制相同的文件(ib_logfile0,ib_logfile1和ibdata1)并粘贴到正在运行的xampp服务器C:\ xampp\mysql\data \
  5. 启动mysql和apache服务打开CMD Fire命令C:\ xampp\mysql\bin> mysqldump -u dbusername -p dbpassword dbname> D:\ exportdb.sql
  6. 停止mysql和apache服务并恢复你的主ib_logfile0,ib_logfile1和ibdata1文件(检查步骤3)
  7. 之后再次启动服务并打开http:// localhost/phpmyadmin /并从D:\ exportdb.sql导入数据库备份现在您的备份正在运行:)


Ali*_*ori -3

我已经搜索了很多。恢复还需要一些其他文件。我认为单独从 .frm 文件恢复表是不可能的。我已经重新创建了我的数据库。

  • 您真的认为您的答案必须是公认的答案而不是其他答案吗? (3认同)