【问题标题】:How to restore mysql database in XAMPP?如何在 XAMPP 中恢复 mysql 数据库?
【发布时间】:2015-05-29 07:22:10
【问题描述】:

我有整个 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 中该表仍然存在 内部数据字典。

【问题讨论】:

    标签: mysql xampp backup innodb


    【解决方案1】:

    您不能复制具有 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
    

    导入

    mysql -u user -p password database_name < database_name.sql
    

    【讨论】:

      【解决方案2】:

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

      步骤

      • 安装新的 XAMPP

      • 替换mysql/data中的ibdata1

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

      • 运行 mysql 和 Viola 就可以了!

      如果出现#1932错误,只需导入create_tables.sql 来自 xampp/phpMyAdmin/sql,这就解决了问题。

      【讨论】:

        【解决方案3】:

        继续阅读答案并将these files复制并替换到新的xampp文件夹中。

        来自\xampp\mysql\data\mysql

        文件:proc.frm、proc.MAD、proc.MAI

        【讨论】:

          【解决方案4】:

          我得到了以下日志:

          2020-02-11 14:26:06 0 [ERROR] mysqld: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed 2020-02-11 14:26:06 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed 2020-02-11 14:26:06 0 [ERROR] Aborting
          

          好吧,我做了如下:

          1. 在不同的目录中安装了一个新的 XAMPP 实例(例如 C:\xampp_new)
          2. 将新安装的三个 db 文件复制回旧安装:
          • C:\xampp_new\mysql\data\mysql\db.frm 到 C:\xampp\mysql\data\mysql\db.frm

          • C:\xampp_new\mysql\data\mysql\db.MAD 到 C:\xampp\mysql\data\mysql\db.MAD

          • C:\xampp_new\mysql\data\mysql\db.MAI 到 C:\xampp\mysql\data\mysql\db.MAI

          1. 从 XAMPP 启动 MySQL 服务,然后它运行良好。

          我希望它对那些步入此类错误的人来说也是有用的信息。

          尝试设置权限时要小心。

          【讨论】:

            猜你喜欢
            • 2019-03-22
            • 2014-06-21
            • 2017-10-15
            • 2016-05-06
            • 2010-11-07
            • 2016-12-12
            • 2020-05-06
            • 1970-01-01
            • 2017-08-24
            相关资源
            最近更新 更多