前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【已解决】Operation timed out 问题

【已解决】Operation timed out 问题

原创
作者头像
stark张宇
发布2023-10-08 17:13:11
6620
发布2023-10-08 17:13:11
举报
文章被收录于专栏:stark张宇stark张宇

概述

今天遇到了这样一个有点奇葩的问题,再阿里云服务器上部署了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添加到了安全组里,尝试后还是不通。

代码语言:txt
复制
$ 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后期要限制一下。

代码语言:txt
复制
update mysql.user set Host='%' where User='username';

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

代码语言:txt
复制
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端口也加入到防火墙)后来我又关闭了防火墙,使用安全组策略来管理端口,剩下的留着后续有时间再进行优化。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 查看Mysql服务/端口
      • 查看阿里云安全组
        • Mysql的远程权限
          • 防火墙
          • 总结
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档