MySql 意外停止

Posted

技术标签:

【中文标题】MySql 意外停止【英文标题】:MySql stops unexpectedly 【发布时间】:2019-11-13 21:04:30 【问题描述】:

这是错误日志的副本:

2019-07-03 13:27:50 0 [错误] InnoDB:您的数据库可能已损坏或 您可能复制了 InnoDB 表空间,但没有复制 InnoDB 日志 文件。请参阅 https://mariadb.com/kb/en/library/innodb-recovery-modes/ 为 有关强制恢复的信息。

2019-07-03 13:27:50 0 [注] InnoDB:128 个回滚段中有 128 个处于活动状态。

2019-07-03 13:27:50 0 [错误] InnoDB:页面 [页面 ID:空格 = 0,页码 = 305] 日志序列号 2834539 是未来!当前系统日志 序列号 1604011。

2019-07-03 13:27:50 0 [错误] InnoDB:您的 数据库可能已损坏,或者您可能复制了 InnoDB 表空间 但不是 InnoDB 日志文件。请参阅 https://mariadb.com/kb/en/library/innodb-recovery-modes/ 为 有关强制恢复的信息。

2019-07-03 13:27:50 0 [注意] InnoDB:为临时表创建共享表空间

2019-07-03 13:27:50 0 [注意] InnoDB:设置文件 'C:\xampp\mysql\data\ibtmp1' 大小为 12 MB。物理上将文件写满;请稍等 ... 2019-07-03 13:27:50 0 [注意] InnoDB: 文件'C:\xampp\mysql\data\ibtmp1' 大小现在为 12 MB。

2019-07-03 13:27:50 0 [注意] InnoDB:等待清除开始

2019-07-03 13:27:50 0 [注意] InnoDB:10.3.16 开始; 日志序列号 1604002;交易 ID 1432

2019-07-03 13:27:50 0 [注意] InnoDB:从 C:\xampp\mysql\data\ib_buffer_pool

2019-07-03 13:27:50 0 [错误] InnoDB: Page [page id: space=0, page number=9] 日志序列号 2841120是未来!当前系统日志序列号 1604011。 2019-07-03 13:27:50 0 [错误] InnoDB:您的数据库可能已损坏或 您可能复制了 InnoDB 表空间,但没有复制 InnoDB 日志 文件。请参阅 https://mariadb.com/kb/en/library/innodb-recovery-modes/ 为 有关强制恢复的信息。

2019-07-03 13:27:50 0 [ERROR] InnoDB: Page [page id: space=0, page number=243] 日志序列号 2082633在未来!当前系统日志序列号 1604011。 2019-07-03 13:27:50 0 [错误] InnoDB:您的数据库可能已损坏或 您可能复制了 InnoDB 表空间,但没有复制 InnoDB 日志 文件。请参阅 https://mariadb.com/kb/en/library/innodb-recovery-modes/ 为 有关强制恢复的信息。

2019-07-03 13:27:50 0 [错误] InnoDB: Page [page id: space=1, page number=0] 日志序列号 1608629在未来!当前系统日志序列号 1604011。 2019-07-03 13:27:50 0 [注意] 插件“反馈”已禁用。

2019-07-03 13:27:50 0 [错误] InnoDB:您的数据库可能已损坏,或者您可能 已复制 InnoDB 表空间但未复制 InnoDB 日志文件。请 参考https://mariadb.com/kb/en/library/innodb-recovery-modes/ 有关强制恢复的信息。

2019-07-03 13:27:50 0 [错误] InnoDB: Page [page id: space=1, page number=1] 日志序列号 1604111在未来!当前系统日志序列号 1604011。 2019-07-03 13:27:50 0 [错误] InnoDB:您的数据库可能已损坏或 您可能复制了 InnoDB 表空间,但没有复制 InnoDB 日志 文件。请参阅 https://mariadb.com/kb/en/library/innodb-recovery-modes/ 为 有关强制恢复的信息。

2019-07-03 13:27:50 0 [注意] 在 IP: '::' 上创建的服务器套接字。

2019-07-03 13:27:50 0 [错误] InnoDB:页面 [页面

如何才能让我的数据库重新启动并运行? 非常感谢所有帮助!

【问题讨论】:

【参考方案1】:

我也遇到过同样的问题。我只是按照以下步骤操作

第 1 步:C:\xampp\mysql\data 中的所有文件移动(剪切/粘贴)到所需的备份位置。

第 2 步: 之后将所有文件从 C:\xampp\mysql\backup 复制到 C:\xampp\mysql\data

第 3 步: 重启 mysql 并检查 phpmyadmin url,它工作正常。

第 4 步: 之后停止将 ibdata1 文件从备份位置复制到 C:\xampp\mysql\data

的 mysql

第五步:重启mysql

第 6 步: 之后复制所有数据库文件夹并检查所有表,它工作正常。

【讨论】:

【参考方案2】:

我也遇到了这个问题,搜索了很多,只有一个解决方案对我有用。

只需将所有文件从C:\xampp\mysql\backup复制到C:\xampp\mysql\data

确保备份您的数据文件夹以避免任何进一步的问题。

如果您看到与表引擎相关的任何错误,则可以将文件 ibdata1 从备份数据文件夹复制到当前数据文件夹

【讨论】:

在我的情况下,我收到了一个错误mysqld.exe: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed,所以我只从backup 复制了mysql 文件夹并粘贴到data 文件夹中以解决我的问题【参考方案3】:

似乎 MySQL 日志和/或数据文件中存在损坏,解决此问题的一种方法是在恢复模式下启动 MySQL。 从 Windows 中的 my.ini(或 Linux 中的 my.cnf)添加以下行: innodb_force_recovery=1[mysqld] 部分下然后重新启动 MySQL 服务。

如果问题仍然存在,mysqlcheck 可以提供帮助,移动到您计算机中存在 MySQL 二进制文件的文件夹,并在命令行中执行 ./mysqlcheck.exe --all-databases 这将列出损坏的表

参考: https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html

【讨论】:

【参考方案4】:

只需卸载 XAMPP 并重新安装它,它将解决所有问题,但请确保备份您的 MYSQL 数据库。

【讨论】:

【参考方案5】:

如果您的备份文件夹不包含您最新的数据库更改,并且您遇到了in use 的排序规则,请改为执行以下操作:

    在新文件夹中安装另一个 XAMPP 实例; 将[old_xampp]/mysql/data/[table_name]/的单个文件夹复制到[new_xampp]/mysql/data/; 将文件从:[old_xampp]/mysql/data/ibdata1 复制到:[new_xampp]/mysql/data/ibdata1 并替换它; 停止旧的 XAMPP; 运行新的 XAMPP。 完成!

你所有的新表条目都应该被带回来。

【讨论】:

以上是关于MySql 意外停止的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin 'FEDERATED' is disabled”

XAMPP - MySQL 意外关闭

XAMPP - MySQL 意外关闭

windows 8.1无法启动wampmysqld(位于本计算机上).错误 1067:进程意外停止

MySQL出现“错误1067:进程意外终止”

Android 应用程序意外停止