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

Posted

技术标签:

【中文标题】从数据文件夹备份中恢复 mysql 数据库【英文标题】:Recovering mysql database from data folder backup 【发布时间】:2012-02-20 22:54:45 【问题描述】:

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

【问题讨论】:

【参考方案1】:

我遇到过类似的问题,Windows 操作系统已损坏。

    安装新的xampp,停止服务(apache、mysql)

    将此文件夹和文件从旧复制到新。地点:

    C:\xampp\mysql\data ib_logfile0, ib_logfile1, ibdata1

    启动服务。

    只需运行 phpmyadmin 或运行该站点。它会起作用的!

【讨论】:

【参考方案2】:
    将所有旧数据库从旧数据库复制到此目录下新安装的 Xampp

C:\xampp\mysql\data\

    从新的 xampp (C:\xampp\mysql\data) 复制以下这些文件并继续备份

ib_logfile0、ib_logfile1 和 ibdata1

    类似地将ib_logfile0、ib_logfile1和ibdata1从旧xampp复制并替换到新xampp

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

    [mysqld]

innodb_force_recovery = 2

innodb_file_per_table=1

    重新启动 Apache 和 MYSQL 并转到 PHPMyadmin 以导出您以前的数据库。 终于替换了之前备份的ib_logfile0、ib_logfile1和ibdata1

【讨论】:

【参考方案3】:

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

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

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

我已经找到了解决方案。我安装了新的 XAMPP 并将 Apache 中的旧 bin 文件夹和旧 XAMPP 中的 mysql 文件夹替换为新安装的 Xampp 中的新文件夹我已经恢复了所有数据。

【讨论】:

【参考方案6】:

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

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

【讨论】:

【参考方案7】:

我是这样处理这种情况的:

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

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

    mysql 下之前的xampp 文件夹(或备份)中复制data 文件夹并将其粘贴到新位置(即<physical_drive>/xampp/mysql)。 现在启动 ApacheMySql xampp 控制面板中的服务。

你去吧,当你点击表格时,表格应该会显示它们的结构。

注意确保您的 xampp 安装文件夹下的 bin 文件夹保持不变。

【讨论】:

我之前只是尝试复制包含我想要的表格的单个文件夹但不起作用,我可以确认复制整个 data 文件夹可以解决问题。 谢谢。你救了我的命 这是最好和最简单的方法 这对我也不起作用,那个链接成功了***.com/questions/42944259/… 如果使用 php7+x 版本,还需要将 phpmyadmin 文件夹从旧的 xampp 复制到新的【参考方案8】:

我遇到了同样的问题。我的所有项目都在 mysql 中,但不知何故丢失了。

我的旧 xampp 下的 mysql 不知何故被删除/卸载了。我什至没有要复制到新 xampp 位置的数据文件夹。

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

C:\xampp\perl\mysql\data

C:\xampp\perl\mysql\backup

这就是我所做的。

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

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

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

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

希望这会有所帮助。

【讨论】:

【参考方案9】:

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

【讨论】:

这里需要哪些其他文件是最重要的一点 你真的认为你的答案一定是被接受的,而不是其他的?【参考方案10】:

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

【讨论】:

以上是关于从数据文件夹备份中恢复 mysql 数据库的主要内容,如果未能解决你的问题,请参考以下文章

从 Windows 10 中 XAMPP 中备份的“数据”文件夹中恢复 InnoDB 数据库

Mysql完全备份和恢复

MySQL备份与恢复

mysql的备份与恢复+实验

Mysql完全备份与恢复

MySQL完全备份增量备份与恢复