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

时间:2012-01-28 00:46:22

标签: mysql phpmyadmin

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

9 个答案:

答案 0 :(得分:21)

以下是我处理这种情况的方法:

  1. 停止 来自xampp控制面板的 Apache MySql 服务。
  2. 备份(以防万一),然后从新的xampp安装文件夹data中删除 <physical_drive>/xampp/mysql 文件夹。
      

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

  3. data下的xampp文件夹(或备份)中复制 mysql 文件夹并将其粘贴到新位置(即{{1 }})。
  4. 现在 开始 Apache MySql 来自xampp控制面板的服务。
  5. 你去了,当你点击它们时,表格应该显示它们的结构。

    注意 确保将xampp安装文件夹下的<physical_drive>/xampp/mysql文件夹保持不变。

答案 1 :(得分:6)

  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

答案 2 :(得分:5)

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

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

答案 3 :(得分:1)

设置     datadir =“D:\ xampp \ mysql \ data” 在xampp / mysql / bin / my.ini

答案 4 :(得分:0)

我遇到了同样的问题。我把我在mysql中的所有项目都丢了,但是我以某种方式丢失了。

我的旧xampp下的mysql以某种方式被删除/卸载了。我甚至没有将数据文件夹复制到新的xampp位置。

我浏览了文件夹,在下面的位置找到了mysql / data和mysql / backup。

  

C:\ XAMPP \ perl的\ MySQL的\数据

     

C:\ XAMPP \ perl的\ MySQL的\备份

这就是我所做的。

我复制了这两个文件夹来代替新的xampp mysql / data和mysql / backup文件夹。

我还将/ mysql下的其他文件(不是文件夹)从旧的xampp复制到新的xampp / mysql。

如果正在运行,请停止新的xampp mysql和apache服务器。重新启动。

Viola我收回了所有丢失的数据库。

希望这有帮助。

答案 5 :(得分:0)

我找到了解决方法。我安装了新的XAMPP和替换Apache中的旧bin文件夹和旧XAMPP中的mysql文件夹以及新安装的Xampp中的新文件夹我恢复了所有数据。

答案 6 :(得分:0)

我只是从xampp文件夹结构内的mysql文件夹中复制了数据文件夹,并将其粘贴到新安装的相同结构中,现在一切正常。

答案 7 :(得分:0)

我找到了这个寻找在Ubuntu中恢复XAMPP数据库的方法。 这个问题显然是针对Windows系统的,但是我认为这可能会有帮助,因为这是唯一好的搜索结果。

对于/ opt / lampp /中的标准安装。 您可以从文件夹中恢复数据库 / opt / lampp / var / mysql / 如果您有整个lampp安装的备份。 (如果没有,您可以考虑将mysql文件夹添加到备份系统中。)

  1. 确保MySQL未运行。
  2. 将上述文件夹复制到新的XAMPP安装中。
  3. 确保所有者是mysql。
  4. 启动MySQL。

您的旧数据库应该可以再次访问。

答案 8 :(得分:-1)

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