首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 修改使用者密碼的三種標準方法

     編輯:MySQL 資料庫相關知識

在 MySQL 中修改使用者 (例如 hunte) 密碼,有三種標準做法,適用不同情境:

方法一:UPDATE user 表 (通用、直觀)

mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD('new_password') WHERE user='hunte';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
  • 直接操作系統表,需手動 FLUSH PRIVILEGES 生效。
  • 適用所有版本,排錯時可直接檢視 user 表確認。

方法二:SET PASSWORD 語法 (推薦、語意清晰)

mysql -u root mysql
mysql> SET PASSWORD FOR 'hunte'@'%' = PASSWORD('new_password');
mysql> QUIT
  • MySQL 內建指令,自動重載權限,無需 FLUSH PRIVILEGES。
  • 可精確指定 user@host,避免同名不同主機帳號混淆。
  • 推薦作為標準修改方式。

方法三:mysqladmin 命令列工具 (腳本自動化首選)

# 修改 root 密碼 (舊密碼為 oldpass)
mysqladmin -u root -p'oldpass' password 'new_password'

# 修改其他使用者需有管理權限
mysqladmin -u root -p'rootpass' password 'new_password' -u hunte
  • 非互動模式,適合 Shell 腳本、自動化部署。
  • password 子命令專用於修改密碼。

關鍵提醒

  1. 密碼必須用 PASSWORD() 加密:明文儲存會導致驗證失敗 (Server 比對的是加密值)。
  2. FLUSH PRIVILEGES:方法一必須執行;方法二、三內建處理。
  3. 指定 Host:方法二建議完整寫 'user'@'host',確保精確修改目標帳號。
  4. 避免命令列明文密碼:mysqladmin -p'pass' 會殘留於 Shell 歷史,生產環境應用 -p 互動輸入或 --defaults-extra-file。

驗證修改生效

mysql -u hunte -p'new_password' -e "SELECT 'OK'";

成功登入即代表密碼修改生效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved