1.问题描述

当我们用Navicat连接自己的远程数据库时,在IP地址与密码都输入正确的情况下,点击测试连接时有时会出现以下情况

导致连接失败,这就会困扰许多新手小伙伴,为什么我的IP与密码都输入正确却还是报错?下面就来分析一下问题原因与解决方法。

2.问题原因

上图的话翻译过来的意思是 “ 无法连接到“3*.*8.**.*** ”上的mysql服务器(10060“未知错误”)”。在我当初连接时,我的问题原因是防火墙没有关,这就导致我在本地连接远程数据库时被防火墙所阻挡,从而连接失败。

3.解决方法

方法一:在Xshell上关闭防火墙

步骤:

1.首先启动MySQL

systemctl start  mysqld.service

2. 查看MySQL运行状态:

systemctl status mysqld.service

正常情况下如下图:

 3. 进入数据库:

mysql -uroot -p

回车后会提示输入密码,注意输入的密码默认是不显示的

4.查看防火墙端口开放的情况:

service firewalld status;

 5.关闭防火墙:

systemctl stop firewalld

 6.刷新:

flush privileges;

7.退出:

exit

 一般情况下,此时在Navicat上再次连接,应该是可以连接上的。

方法二:在远程服务器上直接添加防火墙(这里以腾讯云服务器为例)

步骤:

1.登录后,在“更多”选项中点击“管理”

2.进入管理页面后点击防火墙

3.进入防火墙页面后,点击“添加规则”

 

4.在添加规则中,应用类型选择“ MySQL(3306)”,策略选择允许,然后点击确定

 之后,在Navicat上再次连接远程数据库,应该可以连接成功

注意:

(1)个人建议选择解决方法二,方法一较为复杂,极容易又出现一些新手看不懂并且不知如何解决的问题,方法二操作简单,成功率更高。

(2)出现2003错误的原因可能有许多,这里只是解决了其中的某一个问题,实际操作时,应该具体问题具体分析,如果无法解决,可以看看其他大佬的文章

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐