远程连接阿里云MySQL失败解决办法

最近通过学生认证在阿里云上9.9/月鼓捣了一台服务器,不曾想到安装好MySQL后远程连接就折腾了半天,所以记录一下,也给遇到同样问题的朋友提供一种途径。

1、修改MySQL监听IP

默认情况下MySQL监听的是127.0.0.1,也就是本机,所以只有本机能够连接上,因此需要将MySQL改成监听远程主机IP或者所有IP。
以Ubuntu为例,打开修改以下文件:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address,如果监听固定远程IP,则改成远程主机IP,若监听所有IP,则改成0.0.0.0或者注释bind-address。修改完成后重启MySQL

service mysql restart

再次查看MySQL监听地址

netstat -ano | grep 3306

这里写图片描述
这时MySQL正在监听所有地址。

2、赋予账号远程登录权限

MySQL默认情况下只允许用户本地登录,所有需要赋予用户远程登录的权限。进去MySQL,

mysql> grant all privileges on *.* to '用户'@'ip' identified by '密码' with grant option;
mysql> flush privileges;

第一句语句语句中,*.*代表所有库表,若想给予所有IP权限,"ip"写成“%”,所以第一句sql的意思是给予来自所有IP地址的通过“用户”,“密码”登录的用户对所有库表的所有操作权限。
第二句sql,刷新权限。
然后同样重启MySQL生效。

3、检查防火墙

服务器是否开启了防火墙,防火墙是否允许3306端口连接。可以通过telnet测试

telnet ip port

测试失败,说明防火墙不允许连接3306端口。根据不同操作系统,不同防火墙,配置防火墙允许3306连接。
一般情况下经过以上步骤,就能确保连接成功,但本人不幸千万次尝试都不能成功[抓狂]。想到阿里云是不是有更严格的安全策略,登录云服务器控制台->安全组->配置规则。默认情况下,入方向阿里云只允许访问3389,22,-1端口,所以添加3306,果然成功。
这里写图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值