最近新开了一个服务器,在部署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控制台
$ mysql -u root -p
# 对于mySQL 8.0及以后版本> use mysql;> update user set user.Host='%' where user.User='root';> flush privileges;# 对于8.0以前的版本> grant all privileges on *.* to root@'%' identified by '你的密码';> flush privileges;>exit;
- Navicat远程连接服务器mysql出现问题:一直连接失败 这是由于云服务器的安全组里面没有对外开放3306端口。需要解除对3306端口的限制。
解决方法
- 进入到云服务器的控制台点击服务器名称:
- 点击安全组
- 点击配置规则
- 选择入方向,添加规则
- 设置3306端口
- Navicat重试连接,连接成功。
其他例如Tomcat(8080)、HTTPS(443)等要想进行远程访问也需要在安全组里面添加相应端口。
版权归原作者 1 + 1=王 所有, 如有侵权,请联系我们删除。