我已经在本地的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。
我希望有人能帮助我。
发布于 2016-04-27 17:06:23
dev_khan,请尝试在启用innodb_force_recovery
选项的情况下以只读模式重新启动MySQL:
# innodb_force_recovery = 2
#
)
#
)innodb_force_recovery
行)(再次添加#
)即可再次获得完全访问权限
来自德国的问候
发布于 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。
发布于 2015-04-29 00:01:09
您可以通过在mysql配置文件中添加一行来解决这个问题: my.cnf或my.ini (取决于您的发行版)。
在mysqld下面添加以下行: innodb_force_recovery =1
..
[mysqld]
innodb_force_recovery = 1
..
然后重新启动MySql服务器。您可能丢失了一些数据,但您可以让服务器重新处理您的数据。
致以敬意,
https://stackoverflow.com/questions/18575755
复制相似问题