阿里云安全组开放端口,mysql也设置了登录权限,还是不能远程连接

本文记录了一位管理员在遇到MySQL远程登录失败,经过一系列排查,最终发现是防火墙进程异常导致的问题。通过关闭并重启防火墙,以及检查和修改配置,解决了外网无法连接MySQL服务器的故障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql安装完成后,给root用户授权远程登录权限,开放安全组端口。

用navicat远程登录,报错,10060 unkonwn error。

回想一下,应该没有什么地方做错,开始一步一步排错:

1、检查权限是否正常,select `user`,`host` from mysql.user;(正常)

2、检查安全组端口是否正常(正常)

3、防火墙是否开启(未启动)

4、检查3306端口是否占用,netstat -napl | grep 3306,发现异常,3306端口被占用。

修改mysql端口,重启mysql,重新配置安全组端口

vi /etc/my.cnf

[mysqld]
port=13306

#

systemctl restart mysqld

重启完成后,继续使用navicat远程连接,然后事实永远都不会遂人愿

依然报错!!!!!!!!!

只能接着苦逼的排错

到目前为止:

mysql是没有问题的

安全组是没问题的

防火墙一直是关着的,也是没有问题的

能出问题就这么点儿东西,但是现在看来都没有问题,那么问题处在哪儿????

找不到问题那就看看是什么地方不让我登

mysql -uroot -p127.0.0.1(正常登录)

mysql -uroot -p内网ip(正常登录)

mysql -uroot -p外网ip(报错)

原来是外网的问题,这里插一句,云服务器的网卡只显示内网ip不影响对外提供服务,也就是说,不是网卡的问题,那么就只能是安全组或者防火墙的问题了

在去检查一下安全组,端口确实正常,那就只剩下防火墙了

systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

怎么看这都是关闭状态,难不成防火墙关了还能拦截,这么猛的么

既然怀疑是防火墙的问题,那我把防火墙启起来,在把端口放开以后在把防火墙关了不就行了,嘿嘿🤭

说干就干

[root@localhost etc]# systemctl start firewalld
Job for firewalld.service failed because a timeout was exceeded. See "systemctl status firewalld.service" and "journalctl -xe" for details.
[root@localhost etc]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: failed (Result: timeout) since Fri 2022-03-11 14:04:01 CST; 8s ago
     Docs: man:firewalld(1)
  Process: 21610 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 21610 (code=exited, status=0/SUCCESS)

Mar 11 14:02:31 iZ2zeaoalqnp4d88t1z1liZ systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 11 14:04:01 iZ2zeaoalqnp4d88t1z1liZ systemd[1]: firewalld.service start operation timed out. Terminating.
Mar 11 14:04:01 iZ2zeaoalqnp4d88t1z1liZ systemd[1]: Failed to start firewalld - dynamic firewall daemon.
Mar 11 14:04:01 iZ2zeaoalqnp4d88t1z1liZ systemd[1]: Unit firewalld.service entered failed state.
Mar 11 14:04:01 iZ2zeaoalqnp4d88t1z1liZ systemd[1]: firewalld.service failed.

???启动防火墙都能报错???,这我是着实没有想到

带着满脑壳的问号,去百度一下:Failed to start firewalld - dynamic firewall daemon.

发现是python版本问题,/usr/sbin/firewalld文件头部的python版本和安装的python版本不一致导致的。

你以为我准备按照百度去修改解决吗

是的,我就是这么想的

就在我准备去修改的时候,突然灵机一动,既然启动有问题,那么firewalld的进程是不是也有问题????

试一试

[root@localhost etc]# ps -ef | grep firewalld
root      5822     1  0 Mar09 ?        00:00:00 /usr/bin/python -Es /usr/sbin/firewalld
root     21849  9642  0 14:11 pts/0    00:00:00 grep --color=auto firewalld

沃德法!!!,防火墙的进程竟然还在,我说怎么关了还能拦截,呸,垃圾,反正我也不用,kill -9 5822,直接干掉。

nice,问题成功解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值