首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 授權遠端連線權限完整指南

     編輯:MySQL 資料庫相關知識

預設 MySQL 僅允許本機連線,若需開放遠端存取,必須透過 GRANT 指令授權特定帳號從指定主機或任意主機連線。

常用授權語法

1. 允許任意主機連線(% 通配符)

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

適用於開發測試環境或需動態 IP 連線的應用。

2. 僅允許特定 IP 連線

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

生產環境建議限制具體 IP,提升安全性。

關鍵參數說明

  • ALL PRIVILEGES:授予所有權限(SELECT、INSERT、UPDATE、DELETE、CREATE、DROP 等)
  • *.*:套用於所有資料庫、所有資料表
  • IDENTIFIED BY:設定帳號密碼
  • WITH GRANT OPTION:允許該帳號將自身權限授予其他用戶
  • FLUSH PRIVILEGES;:執行授權後必須刷新權限生效

安全性建議

  1. 生產環境避免使用 %,改用具體 IP 或網段(如 192.168.1.%)
  2. 依最小權限原則,僅授予必要權限(如僅 SELECT, INSERT)
  3. 啟用 SSL 連線加密傳輸
  4. 配合防火牆限制 3306 埠僅對應用伺服器開放
  5. 定期輪換密碼,審核帳號權限

驗證授權結果

SHOW GRANTS FOR 'myuser'@'%';
-- 或
SELECT Host, User FROM mysql.user WHERE User = 'myuser';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved