解决 Navicat for Mysql连接mysql出现10038问题

连接设备是腾讯云的Linux服务器,自己安装的PHP5.6,Apache2.4,mysql5.6

     连接工具是Navicat for Mysql11.1.13


对Navicat的新建数据库进行配置后,在点连接测试的时候总是提示10038错误,一直进不去数据库,自己在服务器中上传一个PHP连接数据库的文件,测试,服务器内部可以正常访问mysql,用了win的cmd  dos窗口测试,不能用外网访问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 


  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值