lei*_*sel 16 php mysql database xampp drupal
我在我的本地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年9月2日十六点18分47秒2544 [注] InnoDB的:日志序列号1600614和ibdata文件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文件,你可以在my.cnf中设置innodb_force_recovery> 0
InnoDB:强制InnoDB在这里继续崩溃恢复.
我通过谷歌寻找解决方案,但它似乎只是与drupal数据库的问题,因为如果我删除数据库它能够连接到MySQL.
我希望有人可以帮助我:(.
Pan*_*los 34
将这些文件移动(不要删除)到另一个文件夹:
innodb_index_stats.frm
innodb_table_stats.frm
slave_master_info.frm
slave_relay_log_info.frm
slave_worker_info.frm
Run Code Online (Sandbox Code Playgroud)
和.ibd文件具有相同的文件名:
innodb_index_stats.ibd
innodb_table_stats.ibd
slave_master_info.ibd
slave_relay_log_info.ibd
slave_worker_info.ibd
Run Code Online (Sandbox Code Playgroud)
尝试启动MySQL.
Cha*_* P. 20
您可以通过在mysql配置文件中添加一行来解决此问题:my.cnf或my.ini(取决于您的发行版)
在[mysqld]下添加以下行:innodb_force_recovery = 1
..
[mysqld]
innodb_force_recovery = 1
..
Run Code Online (Sandbox Code Playgroud)
然后重新启动MySql Server.您可能丢失了一些数据,但您将使服务器再次使用您的数据.
问候,
小智 14
dev_khan,尝试在innodb_force_recovery启用选项的情况下以只读模式重启MySQL :
# innodb_force_recovery = 2#)innodb_force_recovery再次注释该行(添加#)来自德国的问候