当我打开 XAMPP 并单击启动 MySQL 按钮时,它给了我一个错误。我之前已经启动了它,但现在它无法正常工作。
12:19:12 PM [mysql] 正在尝试启动 MySQL 应用程序...
12:19:12 PM [mysql] 检测到状态更改:正在运行
12:19:13 PM [mysql] 检测到状态更改:已停止
12:19:13 PM [mysql] 错误:MySQL 意外关闭。
12:19:13 PM [mysql] 这可能是由于端口阻塞、缺少依赖项、
12:19:13 PM [mysql] 权限不正确、崩溃或通过其他方法关闭
12:19:13 PM [mysql ] ] 按 Logs 按钮查看错误日志并检查
12:19:13 PM [mysql] Windows 事件查看器以获取更多线索
12:19:13 PM [mysql] 如果您需要更多帮助,请复制并发布此
12:19: 13 PM [mysql] 论坛上的整个日志窗口
以下是错误日志的内容:
2013-08-02 12:19:12 4536 [注意] 插件 'FEDERATED' 已禁用。
2013-08-02 12:19:12 f64 InnoDB:警告:不推荐使用 innodb_additional_mem_pool_size。此选项可能会在未来的版本中与选项 innodb_use_sys_malloc 和 InnoDB 的内部内存分配器一起删除。
2013-08-02 12:19:12 4536 [注意] InnoDB:InnoDB 内存堆已禁用
2013-08-02 12:19:12 4536 [注意] InnoDB:互斥锁和 rw_locks 使用 Windows 联锁功能
2013-08-02 12:19:12 4536 [注意] InnoDB:压缩表使用 zlib 1.2.3
2013-08-02 12:19:12 4536 [注意] InnoDB:不使用 CPU crc32 指令
2013-08-02 12:19:12 4536 [注意] InnoDB:初始化缓冲池,size = 16.0M
2013-08-02 12:19:12 4536 [Note] InnoDB: 缓冲池初始化完成
2013-08-02 12:19:12 4536 [Note] InnoDB: 支持的最高文件格式是 Barracuda。
2013-08-02 12:19:12 4536 [注意] InnoDB:ibdata 文件中的日志序列号 0 和 0 与 ib_logfiles 中的日志序列号 1616798 不匹配!
2013-08-02 12:19:12 4536 [注意] InnoDB:数据库未正常关闭!
2013-08-02 12:19:12 4536 [注意] InnoDB:开始崩溃恢复。
2013-08-02 12:19:12 4536 [注意] InnoDB:从 .ibd 文件中读取表空间信息...
最重要的错误信息在这里:
2013-08-02 12:19:12 4536 [错误] InnoDB:
试图打开以前打开的表空间。
以前的表空间mysql/innodb_table_stats在文件路径中使用空间 ID: 1: .\mysql\innodb_table_stats.ibd。
无法打开使用空间 ID 的表空间xat/payments :1 在文件路径: .\xat\payments.ibd
日志的其余部分:
InnoDB: Error: could not open single-table tablespace file .\xat\payments.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB:rupt if we can apply the log records in the InnoDB log to it .
InnoDB: 修复问题并启动mysqld:
InnoDB: 1) 如果文件有权限问题,mysqld 不能
InnoDB: 打开文件,你应该修改权限。
InnoDB:2)如果不需要该表,或者您可以从备份中恢复它,
InnoDB:然后您可以删除 .ibd 文件,InnoDB 将执行正常的
InnoDB:崩溃恢复并忽略该表。
InnoDB:3)如果文件系统或磁盘损坏,您无法删除
InnoDB:.ibd 文件,可以在 my.cnf 中设置 innodb_force_recovery > 0
InnoDB: 并在此处强制 InnoDB 继续崩溃恢复。
这些错误的原因是什么,我该如何纠正它们?