如何在XAMPP中恢复mysql数据库?

van*_*ert 7 mysql xampp backup innodb

我有整个文件夹的备份xampp/mysql。如何使用它在全新安装的 XAMPP 上恢复旧数据库?

简单地将旧xampp/mysql文件夹复制到新的 xampp 会导致 mysql 错误,例如:

InnoDB:InnoDB数据字典中的表veno/sls37_finder_links_termsc的表空间id为1171,但具有该id或名称的表空间不存在。您是否删除或移动了 .ibd 文件?这也可能是使用CREATE TEMPORARY TABLE创建的表,其.ibd和.frm文件MySQL自动删除,但该表仍然存在于InnoDB内部数据字典中。

小智 6

要将数据库恢复到 XAMPP,您需要以下内容: -.frm 、 .ibd 文件和 ibdata1 可以在 mysql/data 文件夹中找到

脚步

  • 安装新的 XAMPP

  • 替换 mysql/data 中的 ibdata1

  • 复制要恢复的数据库的文件夹[.frm和.ibd]并粘贴到mysql/data

  • 运行 mysql 和 Viola 就可以了!

如果出现 #1932 错误,只需从 xampp/phpMyAdmin/sql 导入 create_tables.sql 即可解决问题。


Lea*_*ero 4

您无法复制包含 InnoDB 表的数据库文件夹,因为 InnoDB 存储引擎在 InnoDB 表的物理文件(frm 和 .ibd)与数据字典之间维护着共生关系。

参考: https: //dba.stackexchange.com/questions/82093/moving-binary-database-folder-is-causing-issues-with-innodb-tables

您可以尝试(InnoDB部分):https://dba.stackexchange.com/questions/57120/recover-mysql-database-from-data-folder-without-ibdata1-from-ibd-files/57157#57157

建议:在您的情况下可能会很晚,但是,在转移到另一台服务器之前,最好将数据库导出到 sql 文件并从 phpmyadmin、Mysql Workbech、SQLyog 或终端导入它

出口:

mysqldump -u user -p password database_name > database_name.sql
Run Code Online (Sandbox Code Playgroud)

进口

mysql -u user -p password database_name < database_name.sql
Run Code Online (Sandbox Code Playgroud)