如何重置 MySQL 或 MariaDB 的 Root 密碼
幾個月前,我在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
今天就是這些了。還有更多好東西。敬請期待!
乾杯!
via: https://www.ostechnix.com/how-to-reset-mysql-or-mariadb-root-password/
作者:SK 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive