root 權限登入能力。phplamp,密碼 1234,專用資料庫 phplampDB。mysql -u root -p
mysql> INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'phplamp', PASSWORD('1234'));
mysql> FLUSH PRIVILEGES;
驗證:mysql -u phplamp -p 輸入密碼登入成功。
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 | 外鍵建立 |
| RELOAD | FLUSH 操作 |
| SHUTDOWN | 關閉服務 |
| PROCESS | 查看進程 |
| FILE | LOAD 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';
DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';validate_password 插件強制強密碼。SELECT User, Host FROM mysql.user; 清理無用賬號。