Navicat连接问题2002 - Can‘t connect to server on ...(10060)

博客主要讲述Navicat连接服务器时出现2002 - Can't connect to server on …(10060)报错的解决方法。作者遇到此问题的原因是打开了防火墙,致使3306端口无法访问,关闭防火墙后问题解决,为有同样困扰的人提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Navicat连接问题2002 - Can‘t connect to server on …(10060)

Navicat连接时报错如下:
2002 - Can’t connect to server on ‘192.168.33.59’(10060)

具体解决方法参考:
Navicat远程连接服务器失败 2002 - Can‘t connect to server on …(10060)
我的原因是由于我打开了防火墙,导致3306端口无法访问,此时只需关闭防火墙就好了。

systemctl stop firewalld
systemctl disable firewalld

希望对跟我有同样问题的小伙伴有所帮助,同时感谢大神的文章指导🙏🙏🙏🙏🙏🙏

### 解决 MySQL 远程连接错误 2002 的方案 当遇到 `2002 - Can’t connect to server on ‘localhost’ (10061)` 或者远程连接时的 `(10060)` 错误,这表明客户端尝试访问MySQL服务失败。这类问题可以通过几个方面来排查并解决。 #### 验证 MySQL 服务状态 确认 MySQL 服务正在运行是非常重要的一步。如果服务未启动,则任何试图建立连接的操作都会被拒绝。对于Linux系统而言,可以利用命令行工具如`systemctl status mysql.service` 来查看服务的状态;而在Windows环境下则应通过服务管理器检查MySQL是否处于活动状态[^1]。 #### 修改绑定地址允许外部访问 默认情况下,MySQL仅监听来自本机(`127.0.0.1`)上的请求,这意味着它不允许其他机器发起的连接。为了使远程主机能够成功连接至数据库实例,需编辑配置文件(通常是my.cnf或my.ini),找到`bind-address`参数并将之设置为服务器的实际IP地址或者是`0.0.0.0`(代表接受所有网络接口上的连接),之后重启MySQL服务生效此更改[^3]。 ```bash # 对于基于Debian/Ubuntu系统的Linux发行版 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # 更改 bind-address 行如下: bind-address = 0.0.0.0 ``` #### 开放防火墙端口 即使已经调整了MySQL自身的配置使其支持远程连接,但如果操作系统层面存在防火墙阻止特定端口号的数据包进出的话,仍然会造成连接失败的情况发生。因此还需要确保防火墙上针对MySQL使用的TCP端口(默认是3306)进行了适当放开处理[^2]。 ```bash # 使用 ufw 命令开启 MySQL 默认端口 sudo ufw allow 3306/tcp ``` #### 授予用户权限 最后一点需要注意的是,在完成上述操作后还应该给予目标账户足够的权限以便可以从任意位置登录数据库执行所需的任务。可通过以下SQL语句实现: ```sql GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'%' IDENTIFIED BY 'yourpassword'; FLUSH PRIVILEGES; ``` 以上措施综合起来可以帮助克服因“Cannot Connect To Server On Localhost”而导致的问题,并使得从远端设备安全稳定地接入MySQL成为可能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值