环境:
centos系统
php环境用的lnmp一键安装包
一、阿里云配置安全组出方向开放3306端口,开通后如图:
二、ssh远程登录服务器,设置防火墙
1、先查看防火墙状态
$ firewall-cmd --state
# 显示 not running // 防火墙未开启
2、开启防火墙
$ systemctl start firewalld
3、查看防火墙已放行端口
$ firewall-cmd --list-all
# 我这里显示的空的,表示没有一个端口被防火墙放行,全部拦截了,所以下一步要挨个放行各常用端口
4、挨个放行各常用端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp #mysql
firewall-cmd --permanent --zone=public --add-port=3306/udp #mysql备用
firewall-cmd --permanent --zone=public --add-port=80/tcp #http
firewall-cmd --permanent --zone=public --add-port=443/tcp #https
firewall-cmd --permanent --zone=public --add-port=22/tcp #ssh
firewall-cmd --permanent --zone=public --add-port=6379/tcp #redis
5、重启防火墙
firewall-cmd --reload #重启防火墙
试试mysql能否访问,并且检查web的访问是否正常,如果还是不能访问,重启阿里云ECS试试。一般都能解决
最后:如果上述还是不能解决,就直接关掉防火墙,并重启服务器(有点风险,但是可以保证开发快速进行,留给运维查找原因)
systemctl stop firewalld #关闭防火墙