navicat报错10038

angryTom
angryTom原创
2019-08-07 13:08:104039浏览

  对Navicat的新建数据库进行配置后,在点连接测试的时候总是提示10038错误,一直进不去数据库,自己在服务器中上传一个PHP连接数据库的文件,测试,服务器内部可以正常访问mysql,用了win的cmd dos窗口测试,不能用外网访问mysql,也就是服务器内网能正常访问,外网就不行了,下面为大家介绍一下具体的解决办法。

推荐教程:MySQL数据库入门视频教程

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnflinux】.

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的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。