【发布时间】:2013-08-04 01:45:34
【问题描述】:
当我打开 XAMPP 并单击启动 MySQL 按钮时,它给了我一个错误。 我之前也启动过,现在不行了。
12:19:12 PM [mysql] 正在尝试启动 MySQL 应用程序...
12:19:12 PM [mysql] 检测到状态更改:正在运行
下午 12:19:13 [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:初始化缓冲池,大小 = 16.0M
2013-08-02 12:19:12 4536 [注意] InnoDB:缓冲池初始化完成
2013-08-02 12:19:12 4536 [注意] InnoDB:支持的最高文件格式是梭子鱼。
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 在文件路径:.\xat\payments.ibd
日志的其余部分:
InnoDB:错误:无法打开单表表空间文件 .\xat\payments.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 在此处继续崩溃恢复。
这些错误的原因是什么,我该如何纠正它们?
【问题讨论】: