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

MySQL 開啟遠端連線權限完整設定指南

     編輯:MySQL 綜合教學

MySQL 開啟遠端連線權限完整設定指南

MySQL 預設僅允許本機連線,開啟遠端存取需修改使用者帳號主機限制與授權。本文提供標準化操作步驟。

操作步驟

  1. 本機登入 MySQL:mysql -u root -p
  2. 切換到 mysql 系統庫:USE mysql;
  3. 檢查現有帳號:SELECT user, host FROM user;
  4. 若無 % 主機項目,更新 root 帳號:
    UPDATE user SET host='%' WHERE user='root';
    FLUSH PRIVILEGES;
  5. 授權遠端存取 (兩種常見場景):

場景 A:允許任意 IP 以 root/pwd 連線

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;

場景 B:限定特定 IP (如 192.168.1.100) 以 tuser/tpwd 連線

GRANT ALL PRIVILEGES ON *.* TO 'tuser'@'192.168.1.100' IDENTIFIED BY 'tpwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;

安全性強化建議

  • 避免使用 root 遠端登入:建立專用帳號,僅授予必要資料庫/資料表權限
  • 限制來源 IP:用具體 IP 或網段 (如 '192.168.1.%') 替代 '%'
  • 啟用 SSL 加密傳輸:配置 require_secure_transport=ON 並簽署憑證
  • 防火牆層級管控:僅開放 3306 給應用伺服器 IP,拒絕公網直接存取
  • 定期審核權限:SHOW GRANTS FOR 'user'@'host';

驗證連線

# 遠端機器測試
mysql -h  -u root -p
# 或使用 GUI 工具 (Navicat, Workbench, DBeaver) 測試連線

常見問題

現象排查方向
連線超時防火牆/安全組未開放 3306、MySQL bind-address 設為 127.0.0.1
Access denied帳號主機不匹配、密碼錯誤、未執行 FLUSH PRIVILEGES
SSL 錯誤客戶端未支援 SSL 或憑證不匹配,暫時可用 --skip-ssl 測試
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved