如何重置MySQL或MariaDB的Root密碼
幾個月前,我在Ubuntu 18.04 上安裝了 LAMP。今天,我嘗試以 root 用戶身份登錄數(shù)據(jù)庫,但我完全忘記了密碼。經(jīng)過一陣 Google 搜索并瀏覽一些文章后,我成功重置了密碼。對于那些想知道如何做到這一點的人,這個簡短的教程解釋了如何在類 Unix 操作系統(tǒng)中重置 MySQL 或 MariaDB Root 密碼。
重置 MySQL 或 MariaDB Root 密碼
首先,停止數(shù)據(jù)庫。
如果你使用 MySQL,請輸入以下命令并下按回車鍵。
$ sudo systemctl stop mysql
對于 MariaDB:
$ sudo systemctl stop mariadb
接下來,使用以下命令在沒有權(quán)限檢查的情況下重新啟動數(shù)據(jù)庫:
$ sudo mysqld_safe --skip-grant-tables &
這里, --skip-grant-tables
選項讓你在沒有密碼和所有權(quán)限的情況下進行連接。如果使用此選項啟動服務器,它還會啟用 --skip-networking
選項,這用于防止其他客戶端連接到數(shù)據(jù)庫服務器。并且,&
符號用于在后臺運行命令,因此你可以在以下步驟中輸入其他命令。請注意,上述命令很危險,并且你的數(shù)據(jù)庫會變得不安全。你應該只在短時間內(nèi)運行此命令以重置密碼。
接下來,以 root 用戶身份登錄 MySQL/MariaDB 服務器:
$ mysql
在 mysql > 或 MariaDB [(none)] > 提示符下,運行以下命令重置 root 用戶密碼:
UPDATE mysql.user SET Password=PASSWORD('NEW-PASSWORD') WHERE User='root';
使用你自己的密碼替換上述命令中的 NEW-PASSWORD。
然后,輸入以下命令退出 mysql 控制臺。
FLUSH PRIVILEGES;
exit
***,關閉之前使用 --skip-grant-tables
選項運行的數(shù)據(jù)庫。為此,運行:
$ sudo mysqladmin -u root -p shutdown
系統(tǒng)將要求你輸入在上一步中設置的 MySQL/MariaDB 用戶密碼。
現(xiàn)在,使用以下命令正常啟動 MySQL/MariaDB 服務:
$ sudo systemctl start mysql
對于 MariaDB:
$ sudo systemctl start mariadb
使用以下命令驗證密碼是否確實已更改:
$ mysql -u root -p
今天就是這些了。還有更多好東西。敬請期待!