如何恢復root密碼
在使用Linux系統和MySQL資料庫時,我們可能會遇到忘記root密碼的情況。這時,如果沒有辦法找回密碼,就只能重設密碼或重新安裝系統。然而,這些做法都有一定的風險,可能導致資料遺失或操作不當而影響系統穩定性。在此,我們將介紹兩種安全、簡單且可行的方法來恢復MySQL root密碼。
方法一:使用mysqld_safe啟動MySQL
如果我們沒有設定跳過認證方式,且MySQL安裝的版本為5.7.6及以上時,可以透過mysqld_safe啟動MySQL,並且跳過了密碼認證。接下來的步驟如下:
1.停止MySQL服務。
使用下列指令停止MySQL服務:
2.使用mysqld_safe啟動MySQL。
使用下列指令啟動mysqld_safe,並跳過密碼校驗:
3.驗證MySQL是否已經啟動。
使用下列指令驗證mysqld_safe已經啟動:
如果已經啟動,則輸出如下:
root 3810 1 0 09:52 pts/0 00:00:00 mysqld_safe --skip-grant-tables
mysql 3962 3810 0 09:52 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr - -datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --pid-file=/run/mysqld/mysqld.pid - -socket=/var/run/mysqld/mysqld.sock --port=3306
#其中,「--skip-grant-tables」就是跳過密碼認證的指令。
4.登入MySQL並修改密碼。
使用下列指令登入MySQL:
如果出現下列提示:
ERROR 1045 (28000): Access denied for user ' root'@'localhost' (using password: NO)
則表示跳過認證成功。詳情可見錯誤代碼意義。
使用以下指令修改密碼:
mysql> update mysql.user set authentication_string=password('new_password') where User='root' and Host='localhost';
mysql> ; flush privileges;
mysql> quit
在修改密碼時,需要把「new_password」取代成你想要的新密碼。
5.停止mysqld_safe。
使用下列指令停止mysqld_safe:
6.使用新密碼登入MySQL。
使用下列指令登入MySQL:
#當下列提示出現時,即表示修改成功:
Enter password: (輸入新密碼即可登入)
方法二:使用mysql_config_editor工具
#如果我們有mysql_config_editor工具,則可以透過該工具來修改密碼。 mysql_config_editor是MySQL 5.6以上版本中新增的命令列實用程式。使用mysql_config_editor可以管理MySQL憑證檔案和群組,以及加密和解密憑證資訊。以下是具體步驟:
1.啟動mysql_config_editor。
使用以下指令啟動mysql_config_editor:
這裡的「local」指的是這個憑證組的名字,可以依照自己的喜好更改。
2.輸入新密碼。
執行上一步指令後,終端機會等待輸入密碼。只需輸入新密碼即可。
3.驗證新密碼是否生效。
使用以下指令驗證密碼是否成功修改:
如果可以正常顯示user和host訊息,表示修改成功。
總結
以上就是要恢復MySQL root密碼的兩種方法。透過這兩種方法,我們可以簡單、快速地解決MySQL root密碼遺失的問題。
要注意的是,在恢復密碼之後,為了系統的安全性,我們需要更改root密碼,並進行加強設定。同時,我們也需要避免簡單密碼、重複使用密碼等安全隱患。這樣,就能確保我們的資料和系統的完整性和安全性。
以上是linux mysql 忘記root的詳細內容。更多資訊請關注PHP中文網其他相關文章!