在使用Linux系統和MySQL資料庫時,我們不可避免地會遇到各種問題,例如忘記了root帳號的密碼。這時候,有些人可能會感到困惑和無助,但我們可以透過一些方法來重新設定root帳號的密碼。本文將向讀者介紹忘記root帳號密碼後,如何在Linux上使用MySQL資料庫。
- 使用sudo指令取得root權限
在Linux上操作MySQL需要擁有root權限,如果原本的root帳號密碼已經忘記了,可以使用sudo指令取得root權限,並重設新的root密碼。
步驟如下:
- 開啟終端,輸入以下指令以取得root權限:
- 輸入目前使用者的密碼,確認身分
- 進入MySQL:
- 重設root密碼:
1 | ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'NewPassword' ;
|
登入後複製
其中,NewPassword為新密碼,可以依照實際情況修改。
- 退出MySQL:
- 使用--skip-grant-tables選項
##如果無法使用上述方法取得root權限,可以使用MySQL的--skip-grant-tables選項來重設root密碼。
步驟如下:
關閉MySQL:-
1 | sudo systemctl stop mysql
|
登入後複製
以管理員身分啟動MySQL:-
1 | mysqld_safe --skip-grant-tables &
|
登入後複製
進入MySQL:-
切換到MySQL資料庫:-
更新root帳號密碼:-
1 | UPDATE user SET authentication_string=PASSWORD( 'NewPassword' ) WHERE User= 'root' ;
|
登入後複製
其中,NewPassword為新密碼,可依實際情況修改。
刷新更新快取:-
退出MySQL:-
重新啟動MySQL:-
1 | sudo systemctl start mysql
|
登入後複製
這種方法會關閉root帳號的權限驗證,因此在使用完該方法後要及時恢復權限驗證,避免安全風險。
修改設定檔-
如果使用上述方法都無法解決問題,也可以嘗試修改MySQL設定檔來重設root密碼。
步驟如下:
編輯MySQL設定檔:-
1 | sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
|
登入後複製
登入後複製
在[mysqld]部分加入以下語句:- #
儲存並退出。 - 重啟MySQL:
-
1 | sudo systemctl restart mysql
|
登入後複製
登入後複製
進入MySQL:-
更新root密碼:-
1 | UPDATE mysql.user SET authentication_string=PASSWORD( 'NewPassword' ) WHERE User= 'root' ;
|
登入後複製
其中,NewPassword為新密碼,可依實際情況修改。
刷新快取:-
修改MySQL設定檔:-
1 | sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
|
登入後複製
登入後複製
刪除先前新增的--skip -grant-tables語句。 - 儲存並退出。
- 重啟MySQL:
-
1 | sudo systemctl restart mysql
|
登入後複製
登入後複製
總結
忘記root密碼是一個常見的問題,在使用Linux和MySQL時不可避免地會遇到。本文介紹了三種重設root密碼的方法,其中使用sudo指令和--skip-grant-tables選項是最常用的方法,但需要注意在使用後及時恢復權限驗證。如果以上方法都無法解決問題,需要考慮其他的解決方案,例如重新安裝MySQL等。但無論使用哪種方法,都應該謹慎操作,並遵循操作規範,以確保資料的安全。
以上是linux mysql忘記root怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!