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

MySQL 開啟遠程訪問權限配置全攻略:從 localhost 到 % 通配符

     編輯:MySQL 資料庫相關知識

背景

預設 MySQL 僅允許 localhost 本地連接,當應用與資料庫分離部署時,需授權遠程 IP 訪問。本文示範通過修改 mysql.user 表實現 root 遠程登入,並說明權限表結構與安全注意事項。

操作步驟

  1. 進入命令行客戶端:
    mysql -h localhost -u root -p
  2. 切換到系統庫並查看現有權限:
    USE mysql;
    SELECT host, user FROM user;

    初始狀態下 host 僅為 localhost

  3. 授權任意遠程主機(%)以 root 身份訪問:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;

    % 代表所有外部 IP;若需限定特定 IP,將 % 替換為具體 IP 或主機名

  4. 刷新權限生效:
    FLUSH PRIVILEGES;
  5. 再次查驗:
    SELECT host, user FROM user;

    應出現 % | root 記錄

遠程驗證

在遠程機器執行 mysql -h -u root -p,若連線成功,應用程式即可正常連接。

深度補充:權限體系解析

  • mysql.user:全局權限,控制連接來源與用戶身份
  • mysql.db:庫級權限,記錄用戶對具體庫的操作權限,多用戶管理核心
  • mysql.tables_priv、mysql.columns_priv:表/列級細粒度控制

生產環境建議:避免 root 遠程登入,改為建立專用業務帳號,最小權限原則,配合防火牆限制來源 IP 段。

常見坑點

  1. 防火牆/安全組未放行 3306 端口
  2. bind-address 綁定 127.0.0.1,需改為 0.0.0.0 或具體內網 IP
  3. 密碼策略插件導致簡單密碼被拒
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved