解决远程连接阿里云MySQL时3306端口无法访问的问题

我在阿里云服务器上安装了MySQL8,但配置远程连接一直不成功。
理论上我只需要修改mysql的user表中root用户的host,然后刷新权限,关闭防火墙即可。
然而。。
使用Navicat连接,返回:2003 - Can’t connect to MySQL server on ‘****’ (10060 “Unknown error”)。
于是我依次确认了防火墙服务关闭,MySQL服务开启,3306端口监听中。
然后我搜索了一下,开始怀疑是MySQL8的新版本导致的问题(其实并不是),然后依次尝试一些方案。如,开启防火墙并配置开放3306端口;修改mysql的配置文件,bind-address=0.0.0.0。依然不成功。
这期间,虽然我认为是连接问题,应该还没有到用户和密码的环节,但是依然尝试使用新增用户尝试连接以及修改加密方式的方案,也不成功。
然后尝试telnet,返回“在端口3306:连接失败”,开始怀疑是端口设置问题。原来阿里云的ECS有通过安全组管理的端口规则,需要在安全组规则中开放3306端口。
就成功啦!不过现在3306端口对公网开放,就不要设置root 123456这种账号密码啦,及时修改保命!
在这里插入图片描述