从数据文件夹备份中恢复 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 控制面板停止 Apache 和 MySql 服务。
备份(以防万一),然后从新的 xampp 安装文件夹
<physical_drive>/xampp/mysql
中删除 data
文件夹。
从(
data
文件夹包含您的表的架构/表定义(.frm 文件)。)
mysql
下之前的xampp
文件夹(或备份)中复制data
文件夹并将其粘贴到新位置(即<physical_drive>/xampp/mysql
)。
现在启动 Apache 和 MySql 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 数据库的主要内容,如果未能解决你的问题,请参考以下文章