【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")

前言

今天想在本地远程连接阿里云Ubuntu中的MySQL,结果按照网上的教程进行配置后,还是出现了点问题,遂自己找到问题并记录下来。


正文

1、先登录MySQL,并创建一个拥有所有权限的用户
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' 
IDENTIFIED BY '用户密码' WITH GRANT OPTION;
2、刷新权限信息,使其立即生效
FLUSH PRIVILEGES;
3、进入MySQL目录,修改mysqld.cnf文件

进入MySQL目录时,我们发现了一个my.cnf文件(window是my.ini好像)
点击之后发现里面内容很少,但是最后有两行代码,大致意思就是引入外部文件
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")我们根据它的指示,打开mysql.conf.d目录,发现里面有一个mysqld.cnf文件,这个就是我们需要修改的文件了!
建议大家修改每一个配置文件之前,对源文件进行拷贝,如果修改出错的话,可以使用拷贝文件替换修改的文件,避免问题变得更大!
红色圈是我们要修改的文件,蓝色圈是我拷贝的副本
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")修改mysqld.cnf,找到bind-address=127.0.0.1,将其注释,并添加bind-address=0.0.0.0
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")

4、在本地服务器中测试是否可以连接MySQL

这里我使用的是navicat,新建连接,选择MySQL,按照下图进行填写
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")
点击测试连接后发现,报错了!
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")我去查了百度,然后可能是因为Ubuntu那边开启了防火墙

5、关闭服务器防火墙

先查看防火墙状态,如果防火墙为inactive(关闭)状态,则可以跳过此步骤,直接看第6步

sudo ufw status

若防火墙为active(开启状态),则输入以下命令关闭防火墙

sudo utf disable

再次测试是否能够连接,还是不行
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")

6、开启阿里云控制台3306端口

此时我想到了还有一种可能,就是端口没有开启,因为我之前也因为阿里云端口的问题,写过几篇博客,感兴趣的可以查看我之前的博客
【PHP】在阿里云服务器Ubuntu邮箱PHPMailer使用出现500的问题
【SSL】配置好SSL仍然无法通过阿里云服务器访问https443端口的问题

登录阿里云控制台,查看服务器的安全组规则
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")果然没有看到3306端口(这里面的端口是我之前配置的,如果跟你们显示的不一样是正常的)
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")
添加安全组规则,按照下图进行填写
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")

7、再次测试连接

连接成功!
【MySQL】阿里云Ubuntu系统无法远程连接MySQL——Can't connect to MySQL server on xxxxx(10060 "Unknown error")


总结

在修改配置文件的时候,建议大家养成备份的好习惯
笔者之前因为一直修改配置文件,导致错误越来越多,想要恢复就比较麻烦了,最后不得不重装各种应用还有配置环境,有时候重装还不能解决问题orz,做了不少无用功。
加油!继续解决一个一个的问题!