MySQL 密碼管理是資料庫維護基本功。本文彙整六種修改密碼方法,涵蓋 phpMyAdmin、mysqladmin、SQL 指令,並說明各方法適用情境與注意事項。
mysql 資料庫。user 資料表,找到 root 列,點「編輯」。Password 欄位選 PASSWORD 函數,輸入新密碼。⚠️ 必須使用 PASSWORD() 函數加密,不可直接存明文。
# 修改 root 密碼(首次設定或已知舊密碼)
mysqladmin -u root -p password 'new_password'
# 輸入舊密碼後完成
# 修改其他用戶
mysqladmin -u user_name -p password 'new_password'
限制:無法清空密碼(設為空字串);若無法連線伺服器則無法使用。
mysql> INSERT INTO mysql.user (Host, User, Password)
-> VALUES ('%', 'jeffrey', PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES;
注意:PASSWORD() 加密、FLUSH PRIVILEGES 重載權限。
mysql> REPLACE INTO mysql.user (Host, User, Password)
-> VALUES ('%', 'jeffrey', PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES;
若用戶存在則更新,不存在則新增。
mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
優點:不需 FLUSH PRIVILEGES,語法簡潔。
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';
優點:PASSWORD() 非必需、無需 FLUSH PRIVILEGES,可同時設定權限。
PASSWORD() 加密演算法非 Unix crypt,不可互通。PASSWORD() 已棄用,建議使用 ALTER USER:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
.env、WordPress wp-config.php)。--skip-grant-tables 啟動 MySQL 重置。日常管理推薦 方法五 SET PASSWORD 或 方法六 GRANT;圖形介面用 phpMyAdmin;自動化腳本用 mysqladmin。MySQL 8.0+ 建議改用 ALTER USER 語法。