最近新开了一个服务器,在部署mysql环境的时候遇到Navicat不能远程连接的问题。
问题具体如下:
- CentOS上成功安装mysql,mysql服务成功启动;
- iptables开放3306端口
iptables -D INPUT -p tcp -s 192.168.1.66 --dport 3306 -j ACCEPT
或者在 /etc/sysconfig/iptables 文件中添加如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启iptables服务
service iptables restart
- 成功配置mysql远程访问权限。
$ mysql -u root -p > use mysql; > update user set user.Host='%' where user.User='root'; > flush privileges; > grant all privileges on *.* to root@'%' identified by '你的密码'; > flush privileges; > exit;
- Navicat远程连接服务器mysql出现问题:一直连接失败
这是由于云服务器的安全组里面没有对外开放3306端口。需要解除对3306端口的限制。
解决方法
- 进入到云服务器的控制台点击服务器名称:
- 点击安全组
- 点击配置规则
- 选择入方向,添加规则
- 设置3306端口
- Navicat重试连接,连接成功。
其他例如Tomcat(8080)、HTTPS(443)等要想进行远程访问也需要在安全组里面添加相应端口。
- 海报