朋友们大家好,在这篇文章中我想分享一个处理 MySQL 8.0 的教程,当您升级到 MySQL 8.0 时,该教程将不会启动
嗯,当我在 Laragon 应用程序中从 MySQL 5.1.72 升级到 MySQL 8.0.32 时,发生了这个错误。
当我在 Laragon 应用程序中启动全部时,出现这样的错误。
Laragon 中的 MySQL 8.0 错误
然后我检查了位于C:Laragondatamysql-8mysqld.log
的日志文件在那里我发现了如下错误
mysqld: Table 'mysql.plugin' doesn't exist 2023-02-16T23:34:54.041942Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
除此之外,我还发现了这样的错误
2023-02-16T23:34:54.460889Z 0 [ERROR] [MY-010326] [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 2023-02-16T23:34:54.462984Z 0 [ERROR] [MY-010952] [Server] The privilege system failed to initialize correctly. For complete instructions on how to upgrade MySQL to a new version please see the 'Upgrading MySQL' section from the MySQL manual.
从这个错误可以明显看出我所做的升级过程是错误的。 错误是我没有先初始化MySQL 8.0,导致MySQL 8.0找不到我需要的表。
好的,所以我们要做的解决方案是在启动 MySQL 服务器之前先启动 MySQL 8.0。
在 Windows 中打开命令提示符,然后运行以下命令
mysqld --initialize-insecure
实际上有2个选项,第一个使用–initialize,第二个–initialize-insecure。唯一的区别是 root 帐户的密码。第一个选项将生成一个临时随机密码。对于第二个选项,root帐户没有密码,但是稍后我们可以为root设置密码。
好了,MySQL 8.0的启动过程就完成了,到这里MySQL 8.0应该可以启动或者服务器可以正常运行了。
因为我们使用了第二个选项,这意味着 root 帐户没有密码,因此无需使用密码即可轻松访问。如果是在本地电脑上也还可以,因为Web开发需求也更快。
但是如果朋友想为root账户添加密码,也很简单。
首先运行以下命令进入MySQL命令行。
mysql -u root
登录后,运行以下命令。不要忘记最后一个分号。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password_baru_untuk_root';
将 new_password_for_root 更改为您想要的密码。然后进入。
现在运行命令exit退出MySQL命令行。然后运行以下命令。然后输入您之前创建的新密码。
mysql -u root -p
祝你好运?
以上是Solusi MySQL 错误无法启动的详细内容。更多信息请关注PHP中文网其他相关文章!