方式一:
由于服务器没有对外开放mysql的默认端口3306导致
CentOs7以下开启方式
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
iptables save
service iptables restart
CnetOs7开启方式
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
方式二:
未设置远程用户访问权限导致
在服务器上连接mysql
use mysql;
select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
host代表在哪个host可以用该用户远程访问%代表任意
下面的开启方式是以root用户为例
grant all privileges on *.* to 'root'@'%' identified by 'root用户的密码';
flush privileges;
方式三:
如果你使用的是阿里云的ECS则需要手动添加安全组规则
管理控制台 > 实例 > 点击最右侧的更多 > 网络和安全组 > 安全组配置 > 配置规则 > 添加安全组规则
最后重启服务器,一般不用重启也会生效
如果上述方法都没有解决问题,试着关闭本机的防火墙