80端口不通用很大原因是因为机房防火墙没有开启,这时候你只需要通知服务器所在的机房,开通80端口,解除80端口的限制即可。如果非服务器机房的原因,可以尝试以下2个方法看看。

解决方法一:

MariaDB 默认情况下不使用80端口,但如果你尝试让MariaDB监听80端口,可能会遇到问题。通常,HTTP服务使用80端口,如果MariaDB尝试绑定到该端口,它可能会与现有服务发生冲突。

如果你确实需要让MariaDB监听80端口,你可以按照以下步骤操作:

修改MariaDB配置文件(通常是my.cnf或my.ini),找到[mysqld]部分,添加或修改port选项,将端口改为80:

[mysqld]

port = 80

重启MariaDB服务。

请注意,如果系统上已经有服务使用80端口,你将需要停止该服务或重新配置它以使用不同的端口。另外,运行MariaDB或任何其他服务在标准HTTP端口上可能会引起安全问题,因为它会暴露数据库通信在标准Web服务器流量中,这可能不是推荐的做法。

如果你只是想要MariaDB监听非标准端口,但不是80端口,你可以简单地在配置文件中设置一个非冲突的端口,并重新启动MariaDB服务。

解决方法二:

安装后,/etc下没有my.cnf文件,只有my.cnf.d这个目录

修改了目录里的mariadb-server.cnf,先加了个bind-address=0.0.0.0,但是貌似没起作用。

执行netstat -pan | grep 3306 显示只监听了本机地址。

经过n次尝试后,还是在/etc下建了个my.cnf文件,里面只加了两行:

[mysqld]

bind-address=0.0.0.0

然后重启了mariadb服务,显示监听的地址没问题了,但是还是无法远程访问。

因为之前用过ufw这个工具,比较简单,就装上了ufw:

ufw allow 3306  #执行这个命令添加例外

ufw tatus #查看结果,显示已经允许3306端口了

但是。。。。。。。。。。还是无法远程连接,客户端报错到时很明显,直接无法连接,而不是需要密码(密码不对)

但是通过ufw取消之前添加的80端口,和启用80端口,试了几次,都起作用啊,为啥呢。。。

无意中又试了下firewall-cmd ,

firwall-cmd --list-all #结果显示,允许的端口有80,但是没有3306,这就奇怪了。。。。。

:::前段时间安装80端口的相关应用时,还没安装ufw,都是通过firewall-cmd命令或iptalbes命令添加的例外

于是,通过firewall-cmd --add-port=3306/tcp --permanent 执行了下

再看firewall-cmd --list-all的结果,有3306了。再用远程客户端连接,一下就成功了。。。。

现在的问题是:ufw控制的结果为啥和firewall-cmd 控制的结果不一致呢。。。

解决问题期间,还碰到了个问题,更改mysql监听端口为其它端口(3306以外的),启动mysql时就直接报错(permission denied)

后查明原因,通过semanage添加端口允许后,就可以了。

声明:请谨记木准企服唯一官方电话:18300003210,请勿轻信其他其他联系方式,一对一入口。如遇诈骗请及时联系我们将配合处理!

原文地址:Mariadb不能使用80端口的解决方案发布于2024-04-10 13:39:32