MySQL是一款開源的關係型資料庫管理系統,常用於Web應用程序中作為資料庫伺服器。作為MySQL的最高許可權者,root賬號可以對資料庫進行管理和控制。在MySQL的安裝和使用過程中,修改root賬號的密碼是很常見的操作。本文主要講解在MySQL8版本中如何修改root賬號的密碼。
一、生成臨時密碼
當MySQL8安裝完成後,為了強化安全性,默認情況下root賬號不再具有初始密碼,需要通過臨時密碼先進行登錄。使用以下命令可以查看MySQL8初始化時生成的臨時密碼:
$ sudo grep 'temporary password' /var/log/mysqld.log
根據輸出信息,臨時密碼輸出在第一行,如下所示:
2021-08-07T09:44:01.373263Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxx
這裡的「xxxxxxxx」就是生成的臨時密碼,需要記住這一密碼,因為在修改root賬號密碼時會用到。
二、登錄MySQL8
登錄MySQL8可以使用以下命令:
$ mysql -u root -p
輸入之前獲取的臨時密碼,進行登錄。如果臨時密碼已過期,則需要使用以下命令,先進行密碼重置:
$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root
使用以上命令,可以跳過許可權驗證,直接登錄到MySQL8,具有超級管理員許可權。在這種狀態下修改root賬號密碼,則不需要輸入原密碼。
三、修改root賬號密碼
使用以下命令即可修改root賬號密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
其中,「new_password」為修改後的新密碼。
注意:在MySQL8中,修改root賬號密碼時須將身份驗證方式(auth plugin)改為「mysql_native_password」。這是因為MySQL8默認使用「caching_sha2_password」身份驗證插件,而因為不同版本的MySQL使用的身份驗證方式可能不同,可以使用以下命令查詢:
mysql> select user, plugin from mysql.user;
如果root賬號的plugin為「caching_sha2_password」,則需要先將其改為「mysql_native_password」,再進行密碼修改:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'root_password'; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
以上命令將root賬號的身份驗證方式從「caching_sha2_password」轉化為「mysql_native_password」,然後使用新密碼「new_password」重新進行了密碼設置。
四、刷新許可權表
密碼修改完成後,使用以下命令刷新MySQL8的許可權表,以便修改立即生效:
mysql> FLUSH PRIVILEGES;
完成以上步驟,root賬號密碼修改就完成了。接下來,使用新密碼登錄MySQL8即可。
原創文章,作者:PUOWJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371889.html