返回

用这个终极教程解决MySQL初始化启动报错(mysqld: Table 'mysql.plugin' doesn't exist)问题!

后端

解决 MySQL 初始化启动错误:“mysqld: Table 'mysql.plugin' doesn't exist”

在 MySQL 的世界里,遇到启动服务时出现“mysqld: Table 'mysql.plugin' doesn't exist”错误就像陷入了一场噩梦。别担心,这不是世界末日,也不是你的电脑出了问题。事实上,这是一个常见的 MySQL 故障,我们可以轻松解决它!

第一步:检查 MySQL 版本

首先,让我们找出你使用的 MySQL 版本。如果你使用的是 MySQL 8.0 或更高版本,那么恭喜你,只需进行一些简单的调整即可解决问题。但是,如果你使用的是 MySQL 5.7 或更低版本,我们需要采取不同的方法。

第二步:修改配置文件

对于 MySQL 8.0 或更高版本的使用者,我们需要修改 MySQL 的配置文件(通常是 my.cnf 或 my.ini 文件)。找到 [mysqld] 部分,然后添加以下两行:

innodb_default_temporary_rowformat=DYNAMIC
innodb_default_row_format=DYNAMIC

保存并关闭配置文件,然后重新启动 MySQL 服务。

第三步:重建 mysql.plugin 表

对于 MySQL 5.7 或更低版本的使用者,我们需要重建 mysql.plugin 表。首先,确保已经停止了 MySQL 服务。然后,使用以下命令重建表:

mysql -u root -p
use mysql;
create table plugin ( name varchar(64) not null primary key, version varchar(64) ) engine=innodb;

请注意,你需要输入你的 MySQL root 密码才能执行这些命令。完成后,重新启动 MySQL 服务。

第四步:验证修复

现在,尝试重新启动 MySQL 服务,看看错误是否已经消失。如果问题仍然存在,请检查一下你的 MySQL 版本和配置文件是否正确修改。如果一切都正常,你可能需要寻求专业人士或官方支持的帮助。

额外提示:

  • 在修改配置文件之前,请务必备份你的配置文件,以防万一出现意外情况。
  • 如果重建 mysql.plugin 表后问题仍然存在,请尝试修复或重新安装 MySQL。
  • 定期更新 MySQL 版本,以获得最新的安全补丁和性能优化。
  • 使用 MySQL 最佳实践和优化技巧,以确保你的数据库高效稳定地运行。

常见问题解答

  • 为什么会出现这个错误?

    • 在 MySQL 8.0 中,mysql.plugin 表不再存在,因此会导致启动错误。在 MySQL 5.7 或更低版本中,mysql.plugin 表可能已损坏或丢失。
  • 如何防止此错误再次发生?

    • 定期备份你的 MySQL 数据库。
    • 定期更新你的 MySQL 版本。
    • 使用 MySQL 最佳实践来管理和维护你的数据库。
  • 如果我尝试了所有方法,但问题仍然存在,该怎么办?

    • 寻求专业人士或官方 MySQL 支持的帮助。
  • 我使用的是 MySQL Cloud,此错误是否仍然适用?

    • 是的,此错误也可能发生在 MySQL Cloud 中。
  • 我使用的是第三方 MySQL 发行版,此错误是否仍然适用?

    • 是的,此错误也可能发生在第三方 MySQL 发行版中,但解决方法可能有所不同。

通过遵循这些步骤,你应该能够成功解决 MySQL 初始化启动错误。现在,你可以让你的 MySQL 服务重新正常运行,专注于更重要的事情!