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

MySQL 用戶管理全攻略:建立、授權、密碼修改、刪除與權限查看

     編輯:MySQL 綜合教學

用戶建立與授權兩大方式

方式一:GRANT 單條完成(推薦)

-- 建立用戶並授權(全庫全表所有權限)
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY '111111' WITH GRANT OPTION;

-- 指定庫授權
GRANT ALL PRIVILEGES ON `hzd`.* TO 'test'@'localhost' IDENTIFIED BY '111111';

-- 僅特定權限
GRANT SELECT, INSERT ON *.* TO 'test'@'%' IDENTIFIED BY '111111';

-- 僅特定表特定操作
GRANT UPDATE, DELETE ON `scut`.`student` TO 'test'@'%' IDENTIFIED BY '123';

方式二:INSERT 直操作 mysql.user 表(不推薦,易漏欄位)

INSERT INTO mysql.user (Host, User, Password)
VALUES ('localhost', 'test', PASSWORD('111111'));
FLUSH PRIVILEGES;

⚠️ MySQL 5.7+ 嚴格模式下需填寫所有 NOT NULL 無預設值欄位(如 ssl_cipher),否則報錯 Field 'ssl_cipher' doesn't have a default value。解決:修改 sql_mode 移除 STRICT_TRANS_TABLES 或改用 GRANT。

密碼修改

-- 5.7.6+ 推薦
ALTER USER 'test'@'localhost' IDENTIFIED BY 'newpass';

-- 兼容舊版
SET PASSWORD FOR 'test'@'localhost' = PASSWORD('newpass');

-- 直改 user 表(需 FLUSH PRIVILEGES)
UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES;

用戶刪除

DROP USER 'test'@'localhost';
DROP USER 'test'@'%';

權限查看

-- 查看指定用戶權限
SHOW GRANTS FOR 'test'@'localhost';

-- 查看庫級授權用戶
SELECT User, Host FROM mysql.db WHERE Db='your_db';

權限體系完整表

分類權限說明作用層級
數據操作SELECT查詢表/欄位
INSERT新增表/欄位
UPDATE修改表/欄位
DELETE刪除表/欄位
CREATE建表/庫庫/表
DROP刪表/庫庫/表
INDEX索引管理表
ALTER修改結構表
管理權限FILE服務器文件讀寫GLOBAL
PROCESS查看/殺死線程GLOBAL
RELOAD刷新權限/日誌GLOBAL
SHUTDOWN關閉服務GLOBAL
特殊權限ALL PRIVILEGES除 GRANT OPTION 外所有權限GLOBAL
USAGE僅允許登錄,無實際權限GLOBAL
授權傳遞GRANT OPTION允許將自己的權限授予他人GLOBAL/DB/TABLE

最佳實踐原則

  1. 最小權限:業務帳號僅授予必要庫/表的 SELECT/INSERT/UPDATE/DELETE
  2. 主機限制:優先 'user'@'10.0.0.%' 限制來源 IP,避免 %
  3. 無 GRANT OPTION:業務帳號嚴禁授予
  4. 強密碼策略:隨機生成 16+ 位、含特殊字符、定期輪換
  5. 權限審計:定期 SHOW GRANTS 掃描異常授權

常見報錯對照

錯誤碼原因解決
1364嚴格模式下缺少預設值欄位用 GRANT 或調整 sql_mode
1045密碼錯誤/主機不匹配核對 Host、密碼、flush privileges
1396用戶已存在DROP USER 後重建
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved