您好,欢迎访问一九零五行业门户网

navicat报错10038

对navicat的新建数据库进行配置后,在点连接测试的时候总是提示10038错误,一直进不去数据库,自己在服务器中上传一个php连接数据库的文件,测试,服务器内部可以正常访问mysql,用了win的cmd  dos窗口测试,不能用外网访问mysql,也就是服务器内网能正常访问,外网就不行了,下面为大家介绍一下具体的解决办法。
推荐教程:mysql数据库入门视频教程
设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:设置mysql的配置文件
     /etc/mysql/my.cnf
     找到 bind-address  =127.0.0.1  将其注释掉;//作用是使得不再只允许本地访问;
也可以改成bind-address  =0.0.0.0
重启mysql:/etc/init.d/mysql restart;
2:在linux端登录mysql数据库:mysql -u root -p
mysql> use mysql;
查询host值:
mysql> select user,host from user;
如果没有%这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
这是修改后的情况
修改后测试了一下还是提示一样的错误,后来发现其实是服务器的防火墙没有关掉,在将防火墙关闭之后,就能正常连接了
附上防火墙的开启/关闭方法
linux防火墙的打开与关闭方法
1) 重启后生效 
开启: chkconfig iptables on 
关闭: chkconfig iptables off 
2) 即时生效,重启后失效 
开启: service iptables start 
关闭: service iptables stop 
需要说明的是对于linux下的其它服务都可以用以上命令执行开启和关闭操作。 
在开启了防火墙时,做如下设置,开启相关端口, 
修改/etc/sysconfig/iptables 文件,添加以下内容: 
-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 80 -j accept 
-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 22 -j accept 
以上就是navicat报错10038的详细内容。
其它类似信息

推荐信息