发生的错误
好吧,当我在 laragon 应用程序中从MySQL 5.1.72升级到mysql 8.0.32时,发生了这个错误。
当我在 laragon 应用程序中 start all 时,出现的错误是这样的。
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,然后再启动mysql服务器。
在 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
祝你尝试顺利 ?