2002 - Can‘t connect to server on ‘192.168.xx.xx‘(10060)

  • 通过navicat连接linux虚拟机中的mysql时,出现如下报错:
  • or
  • 通过navicat连接linux云服务器中的mysql时,出现如下报错:

目录

一、navicat连接远程mysql报错10060的解决办法

1、确认MySQL服务器是否在运行

2、检查远程服务器端口3306是否已经开启

(1)如果用的云服务器:

(2)如果用的物理服务器:

 3、检查MySQL用户授权

(1)登录远程服务器查询

 (2)如果当前用户没有被允许连接,可以使用以下命令添加用户授权

(3)重启MySQL服务

 4、确认防火墙是否允许MySQL端口

(1)需要先重置防火墙规则

(2)然后可以使用以下命令添加规则

(3)保存设置,重启服务

二、新建连接(MySQL)

1、新建连接(MySQL)-SSH

2、新建连接(MySQL)-常规


一、navicat连接远程mysql报错10060的解决办法

1、确认MySQL服务器是否在运行

systemctl status mysql
没有则启动
systemctl start mysql
 

2、检查远程服务器端口3306是否已经开启

(1)如果用的云服务器:

(2)如果用的物理服务器:

netstat -tuln | grep 3306

如果3306端口已开启,则显示LISTEN:
如果没有开启,则在iptables中开放3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save  保存:
service iptables restart  重启生效

 3、检查MySQL用户授权

(1)登录远程服务器查询

  use mysql;
  SELECT User, Host FROM user;

 (2)如果当前用户没有被允许连接,可以使用以下命令添加用户授权

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

(注意:上述示例中的“username”和“password”需要替换为实际的数据库用户名和密码。)

(3)重启MySQL服务

 systemctl restart mysql

 4、确认防火墙是否允许MySQL端口

查看防火墙状态
service iptables status
或者使用
iptables -L
可以使用以下命令检查防火墙是否允许MySQL端口:
iptables -L -n | grep 3306
如果如下图显示为DROP

(1)需要先重置防火墙规则

 # 注意:此命令清除防火墙规则只对本次操作生效,再次重启服务器则会还原规则,所以第三步要进行保存操作   iptables -F

(2)然后可以使用以下命令添加规则

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

(3)保存设置,重启服务

service iptables save
service iptables restart

二、新建连接(MySQL)

注意!这里需要先进行SSH连接,再进行常规连接。如果仅进行常规连接将会连接失败,并出现本文章题目所述报错。

因为我们的windows电脑是要先与linux虚拟机进行SSH连接,再进行常规连接,连接数据库。如果你的MySQL数据库就在windows本地,则不需要进行SSH连接这一步骤。

1、新建连接(MySQL)-SSH

在电脑上打开mysql客户端软件Navicat,新建mysql连接,输入连接名。切换到SSH页签。填写连接mysql数据库所在主机ip、用户名及密码。

如下图(这里的用户名和密码是登录服务器的用户和密码)

2、新建连接(MySQL)-常规

页面切换到常规,输入本地数据库访问ip、用户名、密码、及端口(默认3306)。(这次的用户名和密码是数据库的用户名和密码

上面这个localhost也最好改成对应ip(192.168.xx.xx)

参考文献

<think>嗯,用户提到192.168.0.230拒绝连接,我需要帮他分析可能的原因。首先,这个IP地址属于私有地址范围,通常是内网设备用的。拒绝连接可能有多种原因,得一步步来排查。 首先想到的是目标设备是否在线。用户可能没有检查设备是否开机或者网络是否通畅。应该建议他们先ping一下这个IP,看是否能收到响应。如果ping不通,可能是设备离线或者网络不通。 接下来,如果设备在线,但连接被拒绝,可能是目标服务没运行。比如用户想用SSH,但目标没开SSH服务。这时候需要确认对应的端口是否有监听,可以用telnet或者nmap检查端口状态。 防火墙设置也是个常见问题。无论是本地还是目标设备的防火墙,都可能阻止连接。需要检查防火墙规则,看看是否有相关限制。比如,Linux的iptables或者Windows的防火墙设置。 端口号是否正确呢?用户可能用了错误的端口,比如把HTTP的80端口和HTTPS的443搞混了,或者自定义端口没指定正确。要提醒他们确认应用使用的端口。 另外,IP地址是否正确也需要确认。可能输入错误,或者DHCP分配了不同的IP,导致地址变了。还有子网问题,如果客户端和服务器不在同一子网,又没路由,自然连不上。 还有路由问题,比如中间的网络设备阻止了连接,或者NAT配置不对。这种情况可能需要检查路由器或交换机的设置。 应用层配置也不能忽视,比如服务绑定了特定接口,只允许本地访问,或者有访问控制列表限制。例如,MySQL可能只允许本地连接,需要修改配置允许远程访问。 最后,建议用户分步骤排查:先ping,再检查端口和服务状态,然后看防火墙,最后审查应用配置。这样一步步来,应该能找到问题所在。</think>当遇到“192.168.0.230 拒绝连接”的错误时,通常表示客户端尝试与目标设备建立网络连接时被明确拒绝。以下是逐步排查和分析的思路: --- ### 一、基础排查 1. **确认目标设备在线** - 在命令行中执行 `ping 192.168.0.230`,观察是否收到响应。 - 若无法 `ping` 通: - 目标设备可能未开机。 - 网络物理连接问题(如网线断开、Wi-Fi 断开)。 - IP 地址被错误分配或冲突。 2. **验证目标服务是否运行** - 若尝试通过特定端口(如 SSH 的 22 端口、HTTP 的 80 端口)连接: - 在目标设备上检查服务是否启动(例如:`systemctl status sshd`)。 - 使用 `netstat -tuln`(Linux)或 `Get-NetTCPConnection`(PowerShell)查看端口监听状态。 --- ### 二、常见原因及解决方案 #### 1. 防火墙拦截 - **目标设备防火墙**: - 检查是否放行了对应端口(如 Linux 的 `iptables`/`ufw`,Windows 的防火墙规则)。 - 示例命令(Linux): ```bash sudo ufw allow 22 # 放行 SSH 端口 ``` - **中间网络设备**: - 路由器或交换机可能配置了访问控制列表(ACL),需检查网络设备规则。 #### 2. 服务未绑定公共接口 - 某些服务(如 MySQL、Redis)默认仅绑定本地回环地址(`127.0.0.1`)。 - 修改配置文件,允许远程连接: ```ini # MySQL 示例(my.cnf) bind-address = 0.0.0.0 ``` #### 3. 端口未开放或配置错误 - 使用 `telnet 192.168.0.230 端口号` 或 `nmap -p 端口号 192.168.0.230` 测试端口可达性。 - 若端口未开放,需检查服务配置或重启服务。 #### 4. IP 地址或子网问题 - **IP 地址错误**: - 确认目标设备实际分配的 IP 是否为 `192.168.0.230`(通过目标设备的控制台查看)。 - **子网不匹配**: - 若客户端 IP 为 `192.168.1.x`,而目标为 `192.168.0.x`,需检查路由器是否支持跨子网通信。 --- ### 三、高级排查工具 1. **抓包分析** - 使用 `tcpdump`(Linux)或 Wireshark 捕获网络流量,观察连接请求是否到达目标设备。 - 若看到 `SYN` 包但未收到 `SYN-ACK` 响应,表明连接被拒绝。 2. **日志检查** - 查看目标设备的服务日志(如 `/var/log/syslog` 或事件查看器),寻找连接拒绝的具体原因。 --- ### 四、总结流程 1. 检查设备在线状态 → 2. 验证服务运行和端口开放 → 3. 关闭防火墙临时测试 → 4. 检查 IP/子网配置 → 5. 通过日志和抓包定位问题。 如果问题仍无法解决,请提供更多上下文(如具体服务、操作系统类型、错误代码),以便进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值