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

MySQL 遠程連接配置實戰:從報錯 1130 到成功連接

     編輯:MySQL 綜合教學

MySQL 遠程連接配置實戰:從報錯 1130 到成功連接

遠程工具(MySQL-Front、Navicat、DBeaver)連接報錯 Host 'x.x.x.x' is not allowed to connect to this MySQL server(錯誤碼 1130),本質是 mysql.user 表中無匹配的 Host 記錄。本文記錄完整排查修復流程。

現場現象

遠程連接報錯 1130

本地連接正常:

mysql -u root -p
# 成功進入

排查:查看現有用戶宿主分布

USE mysql;
SELECT User, Host FROM user;
+------+-----------------+
| User | Host            |
+------+-----------------+
| root | localhost       |
| root | master.cloudera |
| root | 127.0.0.1       |
|      | localhost       |
|      | master.cloudera |
+------+-----------------+

❌ 缺少客戶端 IP 10.53.105.221 的授權記錄。

修復:授權遠程 IP 訪問

-- 授予 root@10.53.105.221 全權限(含遠程連接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.53.105.221' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;

驗證:再次查看用戶表

SELECT User, Host FROM user;
+------+-----------------+
| User | Host            |
+------+-----------------+
| root | 10.53.105.221   |  -- 新增成功
| root | 127.0.0.1       |
| root | localhost       |
| root | master.cloudera |
|      | localhost       |
|      | master.cloudera |
+------+-----------------+

遠程連接成功

核心知識點總結

場景Host 值寫法說明
僅本地連接localhostUnix Socket 連接,繞過 TCP/IP
本地 TCP 連接127.0.0.1走 Loopback 接口,需 TCP 端口開放
指定 IP 遠程192.168.1.100精確匹配單 IP
IP 段遠程192.168.1.%通配符匹配網段
任意主機%最高風險,僅內網受信環境慎用

防火牆/雲安全組同步放行

# CentOS 7 firewalld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

# iptables
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save

# 阿里雲/騰訊雲控制台 → 安全組 → 入站規則 → 3306/TCP → 授權對應 CIDR

最佳實踐清單

  1. 業務應用賬號 禁用 root 遠程,創建專用賬號 + 最小權限 + IP 白名單。
  2. 生產環境 關閉 3306 公網暴露,走 VPN/堡壘機/SSH 隧道訪問。
  3. 啟用 skip_name_resolve=ON 避免 DNS 解析延遲導致連接超時。
  4. 定期審計 mysql.user,清理無用/過期/過度授權記錄。

遠程連接不通 90% 是 user.Host 缺失 + 防火牆攔截。雙管齊下,秒級修復。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved