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

MySQL 命令行用戶創建與權限授予實戰:從基礎建表到通配符主機遠程訪問配置

     編輯:MySQL 綜合教學

前置條件

  • MySQL root 權限登入。
  • Windows CMD / Linux Shell 均適用。
  • 目標:用戶 phplamp,密碼 1234,資料庫 phplampDB。

一、創建用戶 (兩種方式)

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

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

方式 B:CREATE USER (MySQL 5.7+ 推薦,更安全)

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

驗證登入

mysql -u phplamp -p
Enter password: 1234

二、創建資料庫並授權

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

三、權限精細控制語法

GRANT 權限列表 ON 資料庫.表 TO '用戶'@'主機' IDENTIFIED BY '密碼';

權限列表 (14 項核心)

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

常用授權範例

-- 僅讀寫權限
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_pwd' WITH GRANT OPTION;

四、主機匹配規則詳解

Host 值匹配連接方式備註
localhostUnix Socket / Named Pipe非 TCP/IP
127.0.0.1TCP/IP 回環與 localhost 不同賬號
%任意主機 (遠程)含 localhost/127.0.0.1
192.168.1.%特定網段通配符
host.example.com域名解析需 DNS 正確、skip_name_resolve=OFF

五、常見維護操作

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

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

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

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

-- 查看所有用戶
SELECT User, Host FROM mysql.user;

六、安全最佳實踐

  1. 最小權限原則:業務賬號僅授必要庫表的 CRUD 權限。
  2. 禁用 root 遠程:DELETE FROM mysql.user WHERE User='root' AND Host!='localhost'; FLUSH PRIVILEGES;
  3. 強密碼策略:安裝 validate_password 插件,強制長度、大小寫、數字、特殊字符。
  4. 定期審計:清理無用賬號、回收過期權限、審視 WITH GRANT OPTION 賬號。
  5. SSL 加密連接:生產環境強制 REQUIRE SSL,防中間人竊聽。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved