上海快速建设网站公司,百度移动首页,哪家招聘网站的猎头做的比较好,网络推广方案书模板一、问题描述#xff1a;
在服务器端可以正常连接并操作mysql#xff0c;但是在windows端使用navicat工具远程ssh连接就出现下面错误。
1、服务器端#xff1a; 2、windows端navicat连接 3、原因
原来我今天在做主从配置的时候#xff0c;将 /etc/my.cnf 配置文件中的b…一、问题描述
在服务器端可以正常连接并操作mysql但是在windows端使用navicat工具远程ssh连接就出现下面错误。
1、服务器端 2、windows端navicat连接 3、原因
原来我今天在做主从配置的时候将 /etc/my.cnf 配置文件中的bind-address参数修改成了该主机的ip这里使用的是虚拟机ip为192.168.0.102【 注原来默认的是127.0.0.1 】这也就意味着只有ip为192.168.0.102即自己机器ip可以访问本地的数据库。
那是不是主从配置之后就不能再用navicat远程连接了呢别急当然是有办法的。
这里给出其中一种我认为比较实用的。 二、问题解决 1、将 /etc/my.cnf 中的bind-address参数修改成0.0.0.0表示允许任何ip主机访问此数据库 2、但是这样可能会导致安全问题所以我们这里还需要再添加iptables 防火墙规则
举例我在做主从配置时准备的是一主双从所以防火墙规则中也必须允许这两台机器的ip可以访问192.168.0.104192.168.0.106。
直接在服务器中输入相应规则回车即可如下图 说明
配置防火墙规则允许ip 192.168.0.104,192.168.0.106,183.157.112.110 连接本服务器3306端口其他ip不允许连接。
别忘记在最后保存一下防火墙规则。 命令如下
[rootlocalhost ~]# iptables -A INPUT -p tcp -s 192.168.0.104 --dport 3306 -j ACCEPT [rootlocalhost ~]# iptables -A INPUT -p tcp -s 192.168.0.106 --dport 3306 -j ACCEPT [rootlocalhost ~]# iptables -A INPUT -p tcp -s 183.157.112.110 --dport 3306 -j ACCEPT [rootlocalhost ~]# iptables -A INPUT -p tcp --dport 3306 -j DROP [rootlocalhost ~]# service iptables save 三、问题已解决
现在就可以继续navicat远程连接数据库了。 四、导致此问题的其他原因
开启 skip-name-resolve 我本来默认的就是开启着的。如果不是我上面说的问题导致的你可以试一试这种方法。