1. 程式人生 > >我來談談如何重置MySQL或MariaDB的Root密碼

我來談談如何重置MySQL或MariaDB的Root密碼

images 其他 後臺運行 skip tables ges 步驟 因此 啟動

幾個月前,我在Ubuntu 18.04 上安裝了 LAMP。今天,我嘗試以 root 用戶身份登錄數據庫,但我完全忘記了密碼。經過一陣 Google 搜索並瀏覽一些文章後,我成功重置了密碼。對於那些想知道如何做到這一點的人,這個簡短的教程解釋了如何在類 Unix 操作系統中重置 MySQL 或 MariaDB Root 密碼。

技術分享圖片

重置 MySQL 或 MariaDB Root 密碼
首先,停止數據庫。

如果你使用 MySQL,請輸入以下命令並下按回車鍵。

$ sudo systemctl stop mysql
對於 MariaDB:

$ sudo systemctl stop mariadb
接下來,使用以下命令在沒有權限檢查的情況下重新啟動數據庫:

$ sudo mysqld_safe --skip-grant-tables &
這裏, --skip-grant-tables 選項讓你在沒有密碼和所有權限的情況下進行連接。如果使用此選項啟動服務器,它還會啟用 --skip-networking 選項,這用於防止其他客戶端連接到數據庫服務器。並且,& 符號用於在後臺運行命令,因此你可以在以下步驟中輸入其他命令。請註意,上述命令很危險,並且你的數據庫會變得不安全。你應該只在短時間內運行此命令以重置密碼。

接下來,以 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 選項運行的數據庫。為此,運行:

$ sudo mysqladmin -u root -p shutdown
系統將要求你輸入在上一步中設置的 MySQL/MariaDB 用戶密碼。

現在,使用以下命令正常啟動 MySQL/MariaDB 服務:

$ sudo systemctl start mysql
對於 MariaDB:

$ sudo systemctl start mariadb
使用以下命令驗證密碼是否確實已更改:

$ mysql -u root -p
今天就是這些了。還有更多好東西。敬請期待!

我來談談如何重置MySQL或MariaDB的Root密碼