MySQL是一種流行的關係型數據庫管理系統,被廣泛應用於Web等領域。遇到MySQL忘記密碼的問題,對於許多開發人員來說可能很棘手。本文將分享一些解決方案,以幫助開發人員更好地應對MySQL8忘記密碼問題。
一、使用 –skip-grant-tables 重置root密碼
一種簡單而常見的方法是在MySQL服務器上使用 –skip-grant-tables 選項將密碼重置為新密碼。該選項啟動MySQL服務器並忽略所有訪問權限,從而允許root用戶使用以下步驟更改密碼:
Step 1:停止當前正在運行的MySQL服務器 sudo systemctl stop mysql Step 2:啟動MySQL服務器,跳過訪問權限檢查 sudo mysqld --skip-grant-tables & Step 3:連接到MySQL服務器,使用mysql客戶端 mysql -u root Step 4:在MySQL控制台中更新密碼,並刷新訪問權限 update mysql.user set authentication_string=password('NEWPASSWORD') where user='root'; flush privileges; Step 5:退出MySQL控制台,並停止MySQL服務器 exit; sudo systemctl stop mysql Step 6:啟動MySQL服務器正常驗證 sudo systemctl start mysql
二、使用mysql_config_editor設置root密碼
在MySQL 5.6.6版本之後,提供了一個名為mysql_config_editor的命令行實用程序,可以使用它來更安全地設置MySQL用戶名和密碼。要使用此實用程序,請執行以下步驟:
Step 1:使用mysql_config_editor創建一個新的MySQL登錄路徑 mysql_config_editor set --login-path=local --host=localhost --user=root --password Step 2:在新的MySQL登錄路徑中重置root用戶的密碼 mysql_config_editor set --login-path=local --host=localhost --user=root --password=NEWPASSWORD
三、在MySQL 8.0.11+之前使用默認加密插件方法
這是一個針對MySQL 8.0.11及更早版本的方法,這些版本使用mysqld默認加密插件,即mysql_native_password。在這種情況下,可以使用以下方法更改MySQL root密碼:
Step 1:停止MySQL服務器 sudo systemctl stop mysql Step 2:啟動MySQL服務器並跳過權限檢查 sudo mysqld_safe --skip-grant-tables & Step 3:使用mysql客戶端連接到MySQL服務器 mysql -u root Step 4:設置新密碼,並刷新訪問權限 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASSWORD'; flush privileges; Step 5:退出MySQL控制台,並停止MySQL服務器 exit; sudo systemctl stop mysql Step 6:啟動MySQL服務器正常驗證 sudo systemctl start mysql
四、在MySQL 8.0.11+之後使用caching_sha2_password插件方法
MySQL在8.0.11版本中更改了默認的身份驗證插件,將其從mysql_native_password更改為caching_sha2_password。這種更改帶來了更強的安全性,但可能需要使用以下步驟更改root用戶的密碼:
Step 1:停止當前正在運行的MySQL服務器 sudo systemctl stop mysql Step 2:使用 --skip-grant-tables 參數啟動MySQL服務器,並連接到MySQL服務器 sudo mysqld --skip-grant-tables & mysql -u root Step 3:使用ALTER USER命令修改root用戶的身份驗證插件和密碼 ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'NEWPASSWORD'; flush privileges; Step 4: 退出MySQL控制台,並停止MySQL服務器 exit; sudo systemctl stop mysql Step 5:使用正常的方式啟動MySQL服務器,並使用新密碼登錄 sudo systemctl start mysql mysql -u root -p
以上是在不同MySQL版本上解決忘記MySQL root密碼的四種不同的方法。通過這些方法,我們可以幫助開發人員更好地解決MySQL8密碼忘記問題,保證MySQL服務器的正常使用。
原創文章,作者:VGWR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131001.html