在 CentOS 伺服器上管理 MySQL 資料庫時,定期變更 root 密碼是維護資料庫安全的基本操作。本文將詳細說明如何通過命令列介面安全地修改 MySQL root 使用者的密碼,適用於 MySQL 5.7 之前的版本。
打開終端機,使用以下任一指令進入 MySQL 監控程式:
mysql -u root
或
mysql -uroot -p
若設有密碼,系統將提示輸入當前密碼;若為首次安裝或無密碼,直接按 Enter 鍵即可進入。
MySQL 的使用者帳號資訊儲存在 mysql 系統資料庫的 user 表中,需先切換上下文:
mysql> USE mysql;
Database changed
重要提醒: 必須使用 PASSWORD() 函式對明文密碼進行加密儲存,切勿直接寫入明文。
mysql> UPDATE user SET password=PASSWORD('新密碼') WHERE user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
上述指令會更新所有主機名為 root 的使用者記錄(通常包含 localhost、127.0.0.1、::1 等)。
修改完成後,必須執行 FLUSH PRIVILEGES 使變更立即生效,否則新密碼將不會被承認:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
離開 MySQL 監控程式,然後重啟服務以確保所有連線重新驗證:
mysql> EXIT;
# service mysqld restart
重啟完成後,即可使用新密碼登入 MySQL。
password 欄位已更名為 authentication_string,語法需相應調整。