如何在執行 Amazon Linux 2 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上重設 MariaDB 根密碼?
簡短說明
依預設,Amazon Linux 2 上的 MariaDB 5.5 沒有根密碼。如果您為 MariaDB 建立根密碼,然後將自己鎖定在資料庫之外,則必須重設根密碼。
**注意:**在重設根密碼時,您無法查詢資料庫。
解決方法
1、 確認您擁有 MariaDB 資料目錄所在磁碟區的最新快照。如有需要,您可以從此快照處重新建立磁碟區。
2、 停止 MariaDB 服務:
sudo systemctl stop mariadb
3、 在安全模式下啟動 MariaDB:
sudo mysqld_safe --skip-grant-tables --skip-networking &
4、 執行下列命令,將 MariaDB 的命令歷史記錄設定為 /dev/null,並登入 MariaDB 監視器:
重要事項: 設定命令歷史記錄 /dev/null 可防止您的密碼資訊以純文字顯示在歷史記錄檔案中。您可以在完成整個程序後重設此值。
export MYSQL_HISTFILE=/dev/null
mysql -u root
5、 更新您的 MariaDB 根密碼:
UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';
輸出如下所示:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6、 刷新權限以重新載入授權表。您的新密碼在重新載入後生效:
FLUSH PRIVILEGES;
7、 結束 MariaDB 監視器:
exit
8、 停止 MariaDB 處理程序:
sudo kill `sudo cat /var/run/mariadb/mariadb.pid`
**注意:**該處理程序可能需要幾秒鐘才會終止。
9、 啟動 MariaDB 服務:
sudo systemctl start mariadb
10、 測試新的 MariaDB 根密碼:
mysql -u root -p