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

MySQL 資料庫遠程存取設定教學:三種授權方式完整說明

     編輯:MySQL 資料庫相關知識

前言

MySQL 預設僅允許本機連線,若需從其他電腦或伺服器存取,必須調整使用者權限。本文整理三種實務上常用的遠程授權方法,並強調關鍵的生效指令與防火牆設定。

方法一:直接修改 mysql.user 表(改表法)

適用於已有帳號、需快速開放所有 IP 連線的情況。

  1. 本機以 root 登入:
    mysql -u root -p
  2. 切換系統庫:
    USE mysql;
  3. 更新 host 為萬用字元:
    UPDATE user SET host = '%' WHERE user = 'root';
  4. 確認變更:
    SELECT host, user FROM user;
  5. 關鍵步驟:
    FLUSH PRIVILEGES;

方法二:GRANT 指令彈性授權(授權法)

建議建立專用遠程帳號,避免直接暴露 root。

開放任意主機

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;

限定特定 IP(例:192.168.1.100)

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'192.168.1.100' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;

執行完同樣需 FLUSH PRIVILEGES;。

方法三:root 帳號快速遠程授權流程

在資料庫伺服器主機上依序執行:

  1. mysql -h localhost -u root
  2. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  3. FLUSH PRIVILEGES;
  4. EXIT;

後續檢查清單

  • 網路層:雲端安全群組/防火牆開放 TCP 3306(或自訂埠)。
  • MySQL 設定:my.cnf / my.ini 中 bind-address = 0.0.0.0。
  • 權限生效:若仍失敗,重啟 MySQL 服務:systemctl restart mysqld。

安全性最佳實務

  • 生產環境禁用 root 遠程登入,改用專用帳號 + IP 白名單。
  • 啟用 SSL/TLS 加密連線。
  • 定期審核 mysql.user,移除閒置帳號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved