远程连接轻量应用服务器(阿里云学生机)中的数据库或其他应用失败

问题描述:

php代码远程连接阿里云学生机可能报错无法连接,以无法连接mysql举例;
服务器系统:centos7

问题原因:

无法连接mysql有俩个原因:
1.防火墙,服务器的防火墙未放行MySQL使用的端口(默认3306);
2.MySQL,MySQL用户表中的用户不能从远程登陆,只能本地登陆;

解决方案:

逐个解决俩问题:
1.防火墙:只要放行端口即可,但是这里要注意,要同时在阿里云控制台和centos系统中设置防火墙

  • 阿里云控制台:
    找到如下位置添加3306端口即可,这里我已经添加好了
    远程连接轻量应用服务器(阿里云学生机)中的数据库或其他应用失败_第1张图片
  • centos:
    firewall-cmd --list-ports 查看所有开放端口(可以发现3306未开放)

远程连接轻量应用服务器(阿里云学生机)中的数据库或其他应用失败_第2张图片
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
在这里插入图片描述
2.MySQL:
你想myuser使用mypassword从任何主机连接到mysql服务器的话。
mysql> use mysql;
mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
mysql>flush privileges;
远程连接轻量应用服务器(阿里云学生机)中的数据库或其他应用失败_第3张图片

你可能感兴趣的:(笔记,mysql,centos,linux,数据库,阿里云)