【问题标题】:XAMPP: MYSQL stops working after I restartXAMPP:MYSQL 在我重新启动后停止工作
【发布时间】:2013-10-06 06:08:27
【问题描述】:

我在 XAMPP 中启动 MYSQL 时遇到问题。 Apache 启动正常,但 MYSQL 不断报告意外关闭。

我被引导删除C:\xampp\mysql\data\ibdata1,之后它就可以工作了,但这会删除我的所有数据库,并且在我重新启动机器后 MYSQL 再次停止工作。

我查看了错误日志,这是我看到的:

[错误] InnoDB:试图打开以前打开的表空间。 以前的表空间 mysql/innodb_index_stats 使用空间 ID: 2 at 文件路径:.\mysql\innodb_index_stats.ibd。无法打开表空间 yiicrud/customer 使用空间 ID:2 在文件路径: .\yiicrud\customer.ibd InnoDB:错误:无法打开单表 表空间文件 .\yiicrud\customer.ibd InnoDB:我们不继续 崩溃恢复,因为表可能会变成 InnoDB: 如果我们损坏 无法将 InnoDB 日志中的日志记录应用到它。 InnoDB:修复 问题和启动mysqld: InnoDB: 1) 如果有权限 文件中的问题和mysqld不能InnoDB:打开文件,你 应该修改权限。 InnoDB:2)如果不需要该表, 或者你可以从备份中恢复它,InnoDB:然后你可以删除 .ibd 文件,InnoDB 将执行正常的 InnoDB:崩溃恢复和 忽略那张桌子。 InnoDB: 3) 如果文件系统或磁盘是 坏了,你不能删除 InnoDB:.ibd 文件,你可以设置 innodb_force_recovery > 0 in my.cnf InnoDB: 并强制 InnoDB 在此处继续崩溃恢复。

【问题讨论】:

  • 您是如何创建/导入数据库“yiicrud”的?
  • 我在同一台机器上的 phpmyadmin 中创建了它
  • 我在 mysql 5.5 中创建数据库然后在 mysql 5.6 中导入时遇到了类似的问题。导入工作正常,但之后 mysql 无法启动。必须将 mysql 降级到 5.5 才能继续该项目:/

标签: mysql xampp


【解决方案1】:

这个页面有解决办法:XAMPP/MySQL: could not open single-table tablespace file .\mysql\innodb_index_stats.ibd after restart of MySQL

将这些文件移动(不要删除)到另一个文件夹:

innodb_index_stats.frm <br>
innodb_table_stats.frm <br>
slave_worker_info.frm <br>
slave_master_info.frm <br>
slave_relay_log_info.frm <br>

和具有相同文件名的 .ibd 文件。

尝试启动 MySQL。

【讨论】:

    【解决方案2】:

    非常感谢大家。

    我能够解决它。看来数据库是在更高版本中创建的,并且与这个新版本的 xampp 不兼容,所以我再次创建了数据库并将表导入其中。以前我也使用 create 语句导入数据库。

    从萨尔曼的评论中得到了这个想法。

    【讨论】:

      【解决方案3】:

      在 my.cnf 中添加这一行对我有用:

      innodb_force_recovery = 1
      

      【讨论】:

      • 对我来说 1 没有帮助,但我在 [mysqld] 之后的第 26 行的 /Applications/XAMPP/xamppfiles/etc/my.cnf 中设置了innodb_force_recovery = 6,它解决了问题跨度>
      【解决方案4】:

      试试这个

      1. XAMMP\mysql\data 文件夹重命名为您希望的任何其他名称(例如data_old
      2. XAMMP\mysql 中新建一个文件夹,命名为data,并复制其中的所有文件,包括ibdata1
      3. 关闭所有正在运行的程序并重新启动 XAMPP

      无需从data_old 复制文件,但如果您之前已经构建过数据库,那么您可以从data_old 复制一些文件。

      解决方案可能会再次出现。如果是这样,那么您必须在配置设置以及phpMyAdmin/config.inc.php 中将端口更改为3308 之类的其他名称。

      如果问题仍然存在,那么最好更改使用端口3306 的应用程序并在 XAMPP 中设置默认设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 2021-03-31
        • 2018-04-08
        • 1970-01-01
        • 2018-07-26
        相关资源
        最近更新 更多