首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

MySQL 使用者密碼設定完整指南:加密儲存與多種建立方式

     編輯:關於SqlServer

核心原則:密碼必須經 PASSWORD() 加密

mysql.user 表的 Password 欄位儲存的是加密雜湊值,非明文。直接插入明文會導致驗證失敗,因伺服器比對的是加密值。

四種設定密碼的方法

1. INSERT + PASSWORD() 函數

USE mysql;
INSERT INTO user (Host, User, Password) VALUES ('%', 'user_name', PASSWORD('your_password'));
FLUSH PRIVILEGES;

2. SET PASSWORD 陳述式

SET PASSWORD FOR 'user_name'@'%' = PASSWORD('your_password');

同樣需 FLUSH PRIVILEGES 或 mysqladmin reload 重新載入授權表。

3. GRANT 建立使用者時自動加密

GRANT ALL ON *.* TO 'user_name'@'%' IDENTIFIED BY 'your_password';

IDENTIFIED BY 子句會自動處理加密,無需額外 FLUSH PRIVILEGES。

4. 命令列 mysqladmin

mysqladmin -u root PASSWORD 'your_password'

直接修改 root 密碼,立即生效,最適合初始化腳本。

重新載入授權表的三種方式

  • SQL:FLUSH PRIVILEGES;
  • Shell:mysqladmin -u root reload
  • Shell:mysqladmin -u root flush-privileges

常見錯誤提醒

❌ INSERT ... VALUES ('plain_text') — 未加密,登入必失敗。
✅ 永遠使用 PASSWORD() 或 IDENTIFIED BY 讓伺服器處理加密。

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