【已解决】Operation timed out 问题

概述

今天遇到了这样一个有点奇葩的问题,再阿里云服务器上部署了Mysql服务,再使用NaviCat的过程中链接不上,connect to address IP地址: Operation timed out,最后是服务器防火墙的问题。

查看Mysql服务/端口

1.查看Mysql是否启动,ps aux | grep mysql 网络监听是否正常,netstat -tunlp 查看3306端口网络监听是否正常,都正常。

在这里补充一句,不是tcp/tcp6协议的原因,tcp6是向下兼容tcp协议的,:::33060.0.0.0:80没有关系,出现在列表里就可以表示端口已经启动监听服务了。

查看阿里云安全组

2.查看服务器的安全组配置是否正确,3306的端口也存在,为了打消疑虑,出方向和入方向都把3306添加到了安全组里,尝试后还是不通。

vbnet 复制代码
$ telnet ip地址 3306
Trying ip地址...
telnet: connect to address ip地址: Operation timed out
telnet: Unable to connect to remote host

Mysql的远程权限

3.开启Mysql的远程权限,username是你自己的用户名,host修改成%表示任何ip都可以访问,这个ip后期要限制一下。

sql 复制代码
update mysql.user set Host='%' where User='username';

也可以设置设置username用户密码

sql 复制代码
update user set plugin='mysql_native_password',authentication_string=password('123456') where user='username';

执行完,要刷新权限,刷新权限的作用是同步正在连接中的mysql进程,如果想加强Mysql的权限管理也可以在phpmyadmin中【账户-root-Change password】随机生成,这样的密码更安全,刷新权限flush privileges;

防火墙

如果以上都尝试过,还不能解决问题,那只能是属于防火墙的问题了,systemctl status firewalld查看防火墙,防火墙没有开启,具体步骤如下:

1、输入以下看mysql是否监听了3306: netstat -tulpen

2、执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running。

3、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

4、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

5、再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。

6、如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。(这一步不需要,谢谢。)

7、再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功。

8、执行命令:firewall-cmd --zone=public --permanent --add-service=mysql

9、返回success。然后继续执行以下进行防火墙重启:systemctl restart firewalld

总结

但我遇到的一个问题非常诡异,当我重新打开防火墙的时候,NaviCat客户端可以正常连接,但是浏览器不能正常访问了,(我猜测开启防火墙需要把80端口也加入到防火墙)后来我又关闭了防火墙,使用安全组策略来管理端口,剩下的留着后续有时间再进行优化。

相关推荐
dessler12 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
易云码16 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
newxtc21 分钟前
【客观理性深入讨论国产中间件及数据库-科创基础软件】
数据库·中间件·国产数据库·国产中间件·科创
蓝眸少年CY22 分钟前
MySQL 【流程控制】函数
mysql
水月梦镜花23 分钟前
redis:list列表命令和内部编码
数据库·redis·list
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青1 小时前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)1 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试
小光学长2 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物