XAMPP/MySQL:无法在MySQL重启后打开单表表空间文件.\mysql\nodb_index_stats.ibd

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我已经在本地XAMPP服务器上安装了Drupal。在我重新启动XAMPP之前,它运行得很好,在包含和使用数据库/站点方面没有问题。从那时起,我在日志文件中得到了以下内容:

2013-09-02上午16:18:46 2544注插件‘联邦’是禁用的。 2013-09-02上午16:18:46 3e8 InnoDB:警告:使用INNOdb_额外_米姆_水池_不推荐尺寸。此选项可能会在以后的版本中删除,同时还将删除此选项。_使用_赛斯_并使用InnoDB的内部内存分配器。 2013-09-02上午16:18:46 2544注InnoDB:InnoDB内存堆被禁用 2013-09-02上午16:18:46 2544注InnoDB:Mutexes和RW_锁使用Windows互锁功能 2013-09-02上午16:18:46 2544注InnoDB:压缩表使用zlib 1.2.3 2013-09-02上午16:18:46 2544注InnoDB:不使用cpu crc 32指令 2013-09-02上午16:18:46 2544注InnoDB:初始化缓冲池,大小为16.0M 2013-09-02上午16:18:46 2544注InnoDB:完成缓冲池的初始化 2013-09-02上午16:18:46 2544注InnoDB:最受支持的文件格式是Barracuda。 2013-09-02上午16:18:47 2544注InnoDB:ibdata文件中的日志序列号1600614和1600614与ib中的日志序列号1600644不匹配。_日志文件! 2013-09-02上午16:18:47 2544注InnoDB:数据库不是正常关闭的! 2013-09-02上午16:18:47 2544注启动崩溃恢复。 2013-09-02上午16:18:47 2544注InnoDB:从.ibd文件读取表空间信息..。 2013-09-02上午16:18:47 2544误差InnoDB:尝试打开先前打开的表空间。以前的表空间Drupal/变量在filepath处使用空间ID:2:.\Drupal\variable.ibd。无法打开表空间MySQL/Innodb_指数_使用空间ID:2在filepath:\mysql\nodb的统计数据_指数_stats.ibd InnoDB:错误:无法打开单表表空间文件。\mysql\nudb_指数_stats.ibd InnoDB:我们不会继续崩溃恢复,因为表可能会变成 InnoDB:如果我们不能将InnoDB日志中的日志记录应用到它,则会损坏。 InnoDB:解决问题并启动mysqld: InnoDB:1)如果文件中存在权限问题,而mysqld不能 InnoDB:打开文件,您应该修改权限。 InnoDB:2)如果不需要表,或者可以从备份恢复表, InnoDB:然后可以删除.ibd文件,InnoDB将执行正常操作 InnoDB:崩溃恢复,忽略该表。 InnoDB:3)如果文件系统或磁盘坏了,您就不能删除 InnoDB:.ibd文件,您可以设置no db_力_恢复>0在我的cnf InnoDB:并强制InnoDB在这里继续崩溃恢复。

我希望有人能帮我:

提问于
用户回答回答于

发展_Khan,尝试在只读模式下重新启动mysql。innodb_force_recovery选项启用:

  1. 编辑my.cnf-找到行:# innodb_force_recovery = 2
  2. 删除#
  3. 重新启动MySQL,让MySQL引擎自行修复。
  4. 评论innodb_force_recovery再排(加)#)
  5. 再次重新启动MySQL,就可以完全访问而不受只读限制。
用户回答回答于

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

innodb_index_stats.frm
innodb_table_stats.frm
slave_master_info.frm
slave_relay_log_info.frm
slave_worker_info.frm

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

innodb_index_stats.ibd
innodb_table_stats.ibd
slave_master_info.ibd
slave_relay_log_info.ibd
slave_worker_info.ibd

试着启动MySQL。

扫码关注云+社区