首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >XAMPP/ MySQL :重新启动MySQL后,无法打开单表空间文件.\mysql\innodb_index_stats.ibd

XAMPP/ MySQL :重新启动MySQL后,无法打开单表空间文件.\mysql\innodb_index_stats.ibd
EN

Stack Overflow用户
提问于 2013-09-02 22:42:07
回答 4查看 26.3K关注 0票数 15

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

2013-09-02 16:18:46 2544注意插件'FEDERATED‘已禁用。

2013-09-02 16:18:46 3e8 InnoDB:警告:不推荐使用innodb_additional_mem_pool_size。这个选项可能会在将来的版本中被删除,连同选项innodb_use_sys_malloc和InnoDB的内部内存分配器。

2013-09-02 16:18:46 2544注意InnoDB:禁用InnoDB内存堆

2013-09-02 16:18:46 2544注意: Mutexes和rw_locks使用InnoDB互锁函数

2013-09-02 16:18:46 2544注意:压缩表使用InnoDB 1.2.3

2013-09-02 16:18:46 2544注意InnoDB:不使用CPU crc32指令

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:472544注意: ibdata文件中的日志序列号1600614和1600614与ib_logfiles中的日志序列号1600644不匹配!InnoDB

2013-09-02 16:18:47 2544注: InnoDB:数据库未正常关闭!

2013-09-02 16:18:47 2544注意: InnoDB:开始崩溃恢复。

2013-09-02 16:18:47 2544注意InnoDB:正在从.ibd文件中读取表空间信息...

2013-09-02 16:18:47 2544错误InnoDB:尝试打开以前打开的表空间。以前的表空间drupal/variable在filepath:.\drupal\variable.ibd中使用空间ID: 2。无法打开表空间mysql/innodb_index_stats,该表空间在文件路径.\mysql\innodb_index_stats.ibd处使用空间ID: 2

InnoDB:错误:无法打开单表表空间文件.\mysql\innodb_index_stats.ibd

InnoDB:我们不会继续崩溃恢复,因为表可能会变成

InnoDB:如果我们无法将InnoDB日志中的日志记录应用于它,则会损坏。

InnoDB:修复问题并启动mysqld:

InnoDB: 1)如果文件有权限问题,mysqld不能

InnoDB:打开文件,需要修改权限。

InnoDB: 2)如果不需要该表,或者可以从备份中恢复。

InnoDB:然后您可以删除.ibd文件,InnoDB将执行常规操作

InnoDB:崩溃恢复并忽略该表。

InnoDB: 3)如果文件系统或磁盘损坏,无法删除

InnoDB:.ibd文件,可以在my.cnf中设置innodb_force_recovery >0

InnoDB:并强制InnoDB在此处继续崩溃恢复。

我通过谷歌寻找解决方案,但这似乎只是drupal数据库的问题,因为如果我删除数据库,它可以连接到MySQL。

我希望有人能帮助我。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-27 17:06:23

dev_khan,请尝试在启用innodb_force_recovery选项的情况下以只读模式重新启动MySQL:

# innodb_force_recovery = 2

  • Comment #)

  • Restart
  1. my.cnf -查找行:删除中的行(删除#)
  2. Restart MySQL,以便让MySQL engine repair再次插入innodb_force_recovery行)(再次添加#)
  3. Restart MySQL,则无需Read-Only-Restriction.

即可再次获得完全访问权限

来自德国的问候

票数 17
EN

Stack Overflow用户

发布于 2013-10-14 01:27:25

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

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。

票数 34
EN

Stack Overflow用户

发布于 2015-04-29 00:01:09

您可以通过在mysql配置文件中添加一行来解决这个问题: my.cnf或my.ini (取决于您的发行版)。

在mysqld下面添加以下行: innodb_force_recovery =1

..
[mysqld]
innodb_force_recovery = 1 
..

然后重新启动MySql服务器。您可能丢失了一些数据,但您可以让服务器重新处理您的数据。

致以敬意,

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18575755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档