【已解决】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协议的,:::3306和0.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端口也加入到防火墙)后来我又关闭了防火墙,使用安全组策略来管理端口,剩下的留着后续有时间再进行优化。

相关推荐
ly76895 小时前
PostgreSQL 流复制与高可用切换:主从延迟、同步提交与 Spring Boot 读写分离的边界
数据库·spring boot·postgresql·读写分离·流复制·高可用切换
l1t5 小时前
修改两处,让SQLite求解数独SQL在datafusion上运行
服务器·数据库·sql
data analyse 4565 小时前
服务端统计时区切换的日期归并
大数据·前端·数据库·人工智能·数据分析
要开心吖ZSH6 小时前
《通过SeaTunnel 把 MySQL 的数据搬进 Doris》番外篇:容量、切分与速度——Doris 能扛多少,比 MySQL 快多少
mysql·性能优化·doris·分区·分表·分桶
远方16096 小时前
108-ORA-00600 [kdsgrp1-qetlbr] 内部错误排查与 RMAN 块级恢复
大数据·linux·数据库·oracle
TDTC_XQ6 小时前
模板类的写法
linux·c++
福娃筱欢6 小时前
SQLServer迁移至KES SQLServer模式 问题整理
数据库·oracle·sqlserver
帷幕落秋6 小时前
经典命令场景与软硬链接
linux·运维
hflmwl86 小时前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
CCCCCCCCharlie7 小时前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法