【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.conf.d目录,发现里面有一个mysqld.cnf文件,这个就是我们需要修改的文件了!
建议大家修改每一个配置文件之前,对源文件进行拷贝,如果修改出错的话,可以使用拷贝文件替换修改的文件,避免问题变得更大!
红色圈是我们要修改的文件,蓝色圈是我拷贝的副本
修改mysqld.cnf,找到bind-address=127.0.0.1,将其注释,并添加bind-address=0.0.0.0
4、在本地服务器中测试是否可以连接MySQL
这里我使用的是navicat,新建连接,选择MySQL,按照下图进行填写
点击测试连接后发现,报错了!
我去查了百度,然后可能是因为Ubuntu那边开启了防火墙
5、关闭服务器防火墙
先查看防火墙状态,如果防火墙为inactive(关闭)状态,则可以跳过此步骤,直接看第6步
sudo ufw status
若防火墙为active(开启状态),则输入以下命令关闭防火墙
sudo utf disable
再次测试是否能够连接,还是不行
6、开启阿里云控制台3306端口
此时我想到了还有一种可能,就是端口没有开启,因为我之前也因为阿里云端口的问题,写过几篇博客,感兴趣的可以查看我之前的博客
【PHP】在阿里云服务器Ubuntu邮箱PHPMailer使用出现500的问题
【SSL】配置好SSL仍然无法通过阿里云服务器访问https443端口的问题
登录阿里云控制台,查看服务器的安全组规则
果然没有看到3306端口(这里面的端口是我之前配置的,如果跟你们显示的不一样是正常的)
添加安全组规则,按照下图进行填写
7、再次测试连接
连接成功!
总结
在修改配置文件的时候,建议大家养成备份的好习惯
笔者之前因为一直修改配置文件,导致错误越来越多,想要恢复就比较麻烦了,最后不得不重装各种应用还有配置环境,有时候重装还不能解决问题orz,做了不少无用功。
加油!继续解决一个一个的问题!