GRANT 權限列表 ON 資料庫.資料表 TO '用戶'@'主機' IDENTIFIED BY '密碼' [WITH GRANT OPTION];
ALL PRIVILEGES:所有權限(除 GRANT OPTION)SELECT, INSERT, UPDATE, DELETE:基礎 CRUDCREATE, DROP, ALTER, INDEX:結構管理GRANT OPTION:允許將擁有的權限授予他人GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'StrongPass123' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'StrongPass123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP
ON myapp_db.*
TO 'app_user'@'192.168.1.%' IDENTIFIED BY 'AppPass456';
FLUSH PRIVILEGES;
GRANT SELECT ON report_db.* TO 'report_user'@'%' IDENTIFIED BY 'ReadOnly789';
FLUSH PRIVILEGES;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON dev_db1.* TO 'dev'@'%' IDENTIFIED BY 'DevPass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON dev_db2.* TO 'dev'@'%' IDENTIFIED BY 'DevPass';
FLUSH PRIVILEGES;
透過 INSERT INTO mysql.user/db/tables_priv ... 直接寫入權限表,最後必須執行 FLUSH PRIVILEGES; 生效。適用於批次匯入權限設定,但易出錯,建議優先使用 GRANT。
utf8mb4_general_ci)localhost 或 %)、密碼 → 不勾選全域權限 → 執行-- 查看使用者權限
SHOW GRANTS FOR 'app_user'@'192.168.1.%';
-- 移除特定權限
REVOKE INSERT, UPDATE ON myapp_db.* FROM 'app_user'@'192.168.1.%';
-- 刪除使用者
DROP USER 'app_user'@'192.168.1.%';
'user'@'%',改用 'user'@'10.0.0.%' 或具體 IPSELECT User, Host FROM mysql.user; 檢查異常帳號DROP USER ''@'localhost'; DROP USER ''@'%';