linux mysql 忘記root

PHPz
發布: 2023-05-20 14:29:08
原創
810 人瀏覽過

如何恢復root密碼

在使用Linux系統和MySQL資料庫時,我們可能會遇到忘記root密碼的情況。這時,如果沒有辦法找回密碼,就只能重設密碼或重新安裝系統。然而,這些做法都有一定的風險,可能導致資料遺失或操作不當而影響系統穩定性。在此,我們將介紹兩種安全、簡單且可行的方法來恢復MySQL root密碼。

方法一:使用mysqld_safe啟動MySQL

如果我們沒有設定跳過認證方式,且MySQL安裝的版本為5.7.6及以上時,可以透過mysqld_safe啟動MySQL,並且跳過了密碼認證。接下來的步驟如下:

1.停止MySQL服務。

使用下列指令停止MySQL服務:

systemctl stop mysql

2.使用mysqld_safe啟動MySQL。

使用下列指令啟動mysqld_safe,並跳過密碼校驗:

mysqld_safe --skip-grant-tables &

3.驗證MySQL是否已經啟動。

使用下列指令驗證mysqld_safe已經啟動:

ps -ef | grep mysql

如果已經啟動,則輸出如下:

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:

mysql -u root

如果出現下列提示:

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:

systemctl stop mysql

6.使用新密碼登入MySQL。

使用下列指令登入MySQL:

mysql -u root -p

#當下列提示出現時,即表示修改成功:

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:

mysql_config_editor set --login-path=local --user=root --password

這裡的「local」指的是這個憑證組的名字,可以依照自己的喜好更改。

2.輸入新密碼。

執行上一步指令後,終端機會等待輸入密碼。只需輸入新密碼即可。

3.驗證新密碼是否生效。

使用以下指令驗證密碼是否成功修改:

mysql --login-path=local -e "select user,host from mysql.user;"

如果可以正常顯示user和host訊息,表示修改成功。

總結

以上就是要恢復MySQL root密碼的兩種方法。透過這兩種方法,我們可以簡單、快速地解決MySQL root密碼遺失的問題。

要注意的是,在恢復密碼之後,為了系統的安全性,我們需要更改root密碼,並進行加強設定。同時,我們也需要避免簡單密碼、重複使用密碼等安全隱患。這樣,就能確保我們的資料和系統的完整性和安全性。

以上是linux mysql 忘記root的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!