朋友們大家好,在這篇文章中我想分享一個處理 mysql 8.0 的教程,當你升級到 mysql 8.0 時,該教程將不會啟動
發生的錯誤
好吧,當我在 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
登錄后復制
祝你嘗試順利 ?