前言

今天想在本地远程连接阿里云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,做了不少无用功。
加油!继续解决一个一个的问题!

版权声明:本文为hertter原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hertter/p/11796175.html