我在本地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 [注意] InnoDB:Mutexes和rw_locks使用Windows互锁功能
2013-09-02 16:18:46 2544 [注意] InnoDB:压缩表使用zlib 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:47 2544 [注意] InnoDB:ibdata文件中的日志序列号1600614和1600614与ib_logfiles中的日志序列号1600644不匹配!
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在文件路径中使用空格ID:2:。\ drupal \ variable.ibd。无法在文件路径中打开使用空格ID:2的表空间mysql / innodb_index_stats:。\ mysql \ innodb_index_stats.ibd
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文件,你可以设置innodb_force_recovery> my.cnf中的0
InnoDB:并强制InnoDB在这里继续崩溃恢复。
我通过谷歌寻找解决方案,但它似乎只是drupal数据库的问题,因为如果我删除数据库它就能与MySQL连接。
我希望有人可以帮助我:(。
答案 0 :(得分:34)
将这些文件移动(不要删除)到另一个文件夹中:
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。
答案 1 :(得分:20)
您可以通过在mysql配置文件中添加一行来解决此问题:my.cnf或my.ini(取决于您的发行版)
在[mysqld]下添加以下行: innodb_force_recovery = 1
..
[mysqld]
innodb_force_recovery = 1
..
然后重新启动MySql Server。 您可能丢失了一些数据,但是您将使服务器再次使用您的数据。
此致
答案 2 :(得分:12)
dev_khan,
尝试在启用innodb_force_recovery
选项的情况下以只读模式重启MySQL:
# innodb_force_recovery = 2
#
)innodb_force_recovery
行(添加#
)来自德国的问候
答案 3 :(得分:0)
这也发生在Wordpress上。它似乎只发生在最新版本中,因为我已经回滚到以前版本的AMPPS并且它工作正常而不会抛出这个innodb问题。