每次启动 Mysql 数据库时,我都会在 error_log 中看到:
131015 12:07:06 [注意] 插件 'FEDERATED' 已禁用。131015 12:07:06 InnoDB:InnoDB 内存堆已禁用 131015 12:07:06 InnoDB:互斥锁和 rw_locks 使用 Windows 互锁函数 131015 12:07:06 InnoDB:压缩表使用 zlib 1.2.3 131015 12:07:06 InnoDB:初始化缓冲池,大小 = 16.0M 131015 12:07:06 InnoDB:完成缓冲池初始化 131015 12:07:06 InnoDB:支持的最高文件格式是梭子鱼。InnoDB:ibdata 文件中的日志序列号与 InnoDB:ib_logfiles 中的日志序列号不匹配!131015 12:07:06 InnoDB:数据库未正常关闭!InnoDB:开始崩溃恢复。InnoDB:从 .ibd 文件中读取表空间信息... InnoDB:从双写 InnoDB 恢复可能的半写入数据页:缓冲区... 131015 12:07:07 InnoDB: 等待后台线程启动 131015 12:07:08 InnoDB: 5.5.32 启动;日志序列号 1595695 131015 12:07:08 [注意] 服务器主机名(绑定地址):'0.0.0.0'; 端口:3306 131015 12:07:08 [注意] - '0.0.0.0' 解析为 '0.0.0.0'; 131015 12:07:08 [注意] 在 IP 上创建的服务器套接字:'0.0.0.0'。
我试过 mysqlcheck -u root -p --repair -A 来修复数据库。这报告所有表都正常。
我也尝试将 innodb_force_recovery 设置为 4
我试过 SET GLOBAL innodb_fast_shutdown = 1; 并关闭数据库。
这些都不会使错误消失。
如何修复数据库中的 InnoDB 表?