问题: 防火墙和selinux关闭了,却连接不了数据库的原因是什么?

我们可以发现我们连接云服务器中的数据库,发现是测试是失败的。
在这里插入图片描述

解决方案

1.0 mysql未开启远程访问权限

# 进入mysql
# 配置远程连接访问的root用户密码【直接执行即可,暂时不需要关心】:

CREATE USER 'root'@'%' IDENTIFIED BY 'Aa123456.';   # 这里的密码需根据自己的实际情况修改
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;


执行完成后,可以直接quit退出或者使用ctrl +D 即可退出

2.0 排查mysql端口是否开启

# Linux查看端口监听
netstat -lnp|grep 3306
# 没输出=MySQL没启动,systemctl start mysqld

3.0 针对云服务器

(1) 未开启安全组

在阿里云里面,我们需要开通安全组
在这里插入图片描述

(2) 云服务器未开启3306端口
# 允许 MySQL 服务
firewall-cmd --zone=public --add-service=mysql --permanent

# 或者开放 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 让规则立即生效
firewall-cmd --reload

# 验证防火墙规则
firewall-cmd --list-all
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐