我在网上查询了N多Blog总结解决方法如下:
1、可能是mysql数据库给远程连接mysql的账号(比如root)没有权限,那么先执行如下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'T2wqwwee..' WITH GRANT OPTION;
grant all on *.* to 'root'@'%';
FLUSH PRIVILEGES;
2、可能是防火墙没有配置mysql的端口号,那么可以先停止防火墙,执行如下命令:
systemctl stop firewalld.service //停止firewall
firewall-cmd --state //查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
如果关闭了仍然报相同的错,那证明不是防火墙的问题。如果要开启防火墙,请根据安装的防火墙来参考。
1)如果使用iptables作为防火墙则参考链接:https://blog.csdn.net/yjfolzxl/article/details/90896078
2)centos7以后使用防火墙为firewall,参考链接:https://blog.csdn.net/aaaa4444ss22/article/details/90261672
3、如果使用云服务器,则要在云服务器管理控制台的服务器实例的安全组中添加安全组规则。我的配置如下,供参考:
配置好后一定要重启云服务器才生效。我就是在这儿卡好久。
最后你用navicat连接测试就可以成功了。如果还有其他解决方法请给我留言。