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

MySQL 命令行建立用戶與授權完整教程:從創建賬號到權限精細控制

     編輯:MySQL 綜合教學

前置條件

  • 具備 MySQL root 權限登入能力。
  • 示例環境:Windows 命令提示符,phpMyAdmin 同理。
  • 目標:創建用戶 phplamp,密碼 1234,專用資料庫 phplampDB。

一、創建用戶

方式 1:標準 SQL (舊版兼容)

mysql -u root -p
mysql> INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'phplamp', PASSWORD('1234'));
mysql> FLUSH PRIVILEGES;

驗證:mysql -u phplamp -p 輸入密碼登入成功。

方式 2:CREATE USER (MySQL 5.7+ 推薦)

mysql> CREATE USER 'phplamp'@'localhost' IDENTIFIED BY '1234';

更安全、支援密碼策略插件、避免直接操作系統表。

二、創建資料庫並授權

mysql> CREATE DATABASE phplampDB;
mysql> GRANT ALL PRIVILEGES ON phplampDB.* TO 'phplamp'@'localhost' IDENTIFIED BY '1234';
mysql> FLUSH PRIVILEGES;

權限精細控制範例

-- 僅授予讀寫權限
GRANT SELECT, INSERT, UPDATE, DELETE ON phplampDB.* TO 'phplamp'@'localhost';

-- 授予特定表權限
GRANT SELECT, UPDATE ON phplampDB.orders TO 'phplamp'@'10.163.225.87' IDENTIFIED BY '123';

-- 全庫全表最高權限 (謹慎使用)
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;

三、權限體系詳解

權限關鍵字說明
SELECT查詢
INSERT插入
UPDATE更新
DELETE刪除
CREATE建表/庫
DROP刪表/庫
INDEX索引操作
ALTER修改表結構
GRANT OPTION授權他人
REFERENCES外鍵建立
RELOADFLUSH 操作
SHUTDOWN關閉服務
PROCESS查看進程
FILELOAD DATA/SELECT INTO OUTFILE

四、主機匹配規則

  • localhost:本機 Unix Socket 連接。
  • 127.0.0.1:本機 TCP/IP 連接(與 localhost 不同)。
  • %:任意主機(遠程訪問)。
  • 192.168.1.%:特定網段。
  • host.example.com:域名解析(需 DNS 正確)。

五、常見操作速查

-- 修改密碼
SET PASSWORD FOR 'phplamp'@'localhost' = PASSWORD('newpass');
-- 或
ALTER USER 'phplamp'@'localhost' IDENTIFIED BY 'newpass';  -- 5.7+

-- 撤銷權限
REVOKE INSERT ON phplampDB.* FROM 'phplamp'@'localhost';

-- 刪除用戶
DROP USER 'phplamp'@'localhost';

-- 查看權限
SHOW GRANTS FOR 'phplamp'@'localhost';

六、最佳實踐建議

  1. 最小權限原則:業務賬號僅授予必要庫表的 SELECT/INSERT/UPDATE/DELETE。
  2. 禁用 root 遠程登入:DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';
  3. 密碼複雜度:啟用 validate_password 插件強制強密碼。
  4. 定期審計:SELECT User, Host FROM mysql.user; 清理無用賬號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved