如何解决“Error: MySQL shutdown unexpectedly”错误?

13 浏览
0 Comments

如何解决“Error: MySQL shutdown unexpectedly”错误?

当我打开XAMPP并点击启动MySQL按钮时,它会给我一个错误。我刚刚启动过它,但现在它不工作了。

上午12:19:12 [mysql] 正在尝试启动MySQL应用...

上午12:19:12 [mysql] 检测到状态更改:正在运行

上午12:19:13 [mysql] 检测到状态更改:已停止

上午12:19:13 [mysql] 错误:MySQL意外关闭。

上午12:19:13 [mysql] 这可能是由于端口被阻止、缺少依赖项、不正确的权限、崩溃或其他方法的关闭。

上午12:19:13 [mysql] 单击“日志”按钮以查看错误日志并检查Windows事件查看器以获取更多线索。

上午12:19:13 [mysql] 如果需要更多帮助,请复制并发布此窗口的整个日志

上午12:19:13 [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: Mutexes和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: 最高支持的文件格式是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: 从.inbd文件中读取表空间信息...

最重要的错误信息在这里:

2013-08-02 12:19:12 4536 [ERROR] InnoDB:

尝试打开先前打开的表空间。

先前的表空间mysql/innodb_table_stats使用空间ID: 1在文件路径: .\\mysql\\innodb_table_stats.ibd。

无法打开使用空间ID: 1的表空间xat/payments在文件路径: .\\xat\\payments.ibd

日志的其余部分:

InnoDB: 错误: 无法打开单表表空间文件.\\xat\\payments.ibd

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继续崩溃恢复。

这些错误的原因是什么,我应该如何纠正它们?

admin 更改状态以发布 2023年5月21日
0
0 Comments

重要 删除此文件可能使现有的MySQL数据无法使用。请谨慎使用。

嘿,我刚做过这个,它有效:

  1. 退出Xampp服务器
  2. 转到C:\ xampp \ mysql \ data目录
  3. 删除ibdata1文件
  4. 重新启动xampp服务器

它应该工作

0
0 Comments

重要提示: 不要删除 ibdata1 文件。这可能会毁坏您的所有数据库。

相反,首先尝试使用 XAMPP 附带的 MySQL 备份文件夹。因此,请执行以下步骤:

  1. 将文件夹 mysql/data 重命名为 mysql/data_old
  2. 将文件夹 mysql/backup 复制一份并将其命名为 mysql/data
  3. 将所有数据库文件夹从 mysql/data_old 复制到 mysql/data 中(排除 mysqlperformance_schemaphpmyadmin
  4. mysql/data_old/ibdata1 文件复制到 mysql/data 文件夹中
  5. 从 XAMPP 控制面板启动 MySQL

就这样了!

编辑(2023年1月7日)

正如一些用户所提到的,这是一种紧急解决方案,而不是永久性的解决方案。在恢复数据之后,强烈建议进行备份,并重新安装 XAMPP,因为故障是与 XAMPP 的某些文件的故障相关,而不是与数据库相关。

0