远程登陆阿里云服务器的数据库
今天想在本地电脑上登陆自己的阿里云服务器上的数据库,却发现怎么也连不上,该授权的也授权了,折腾了半个多小时后,终于解决了,把这个过程记录一下,如果你也遇到了这个问题,可以给你一个参考。
1. 创建用户,并授权
先登陆你的服务器,手动登陆你的 MySQL ,然后创建一个用户,并授权
CREATE USER 'iswbm' IDENTIFIED BY 'abc@123';
然后使用如下命令进行授权。这条命令的意思是,允许 iswbm 用户使用密码(abc@123
) 以及 ip 地址(服务器的公网ip)来登陆数据库,并赋予所有的读写权限。
grant all privileges on *.* to 'iswbm'@'ip' identified by "abc@123";
授权后,记得使用如下命令来刷新使之立即生效。
flush privileges;
2. 设置安全组
在阿里云购买的主机实例,都会有安全组配置。安全组配置的是允许出入云主机的白名单策略,如果不配置白名单,有很多常用的端口都不能用,这其中就包括 MySQL 默认的 3306端口,如果想要让外部访问 3306端口,就需要添加一条白名单,如下所示。
3. 关闭防火墙
虚拟外部的安全组,我们已经设置了白名单放行了,但是在虚拟机内部还有防火墙的存在,一般是用 iptables 配置的。
我们编辑 iptables 的配置文件,在 CentOS 下的配置文件是:/etc/sysconfig/iptables
将如下两行使用 #
进行注释
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
修改完成后,重启 iptables
systemctl restart iptables