返回列表

阿里云实名 阿里云服务器MySQL远程连接

阿里云国际 / 2026-04-26 14:51:09

如果需要更深入咨询了解可以联系全球代理上TG: @cloudcup  他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,微软云开户充值。oss防风控上传加密系统。客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。

为什么需要远程连接MySQL?

你是不是也遇到过这种情况:本地开发环境写好的代码,一部署到阿里云服务器,MySQL就像个傲娇的公主,只认本地访问,远程连接直接拒之门外?这时候你可能想摔键盘,但冷静下来——这问题其实挺常见的,只要按步骤来,分分钟解决!

第一步:阿里云安全组配置

安全组是阿里云的"门卫",不给它放行,外人连大门都摸不到。所以先搞定这个。

添加安全组规则

登录阿里云控制台 → ECS实例 → 安全组 → 配置规则。点击"添加安全组规则":

  • 授权类型:IP地址
  • 授权对象:0.0.0.0/0(或特定IP,比如192.168.1.1/32)
  • 协议类型:TCP
  • 端口范围:3306
  • 优先级:默认即可

注意:别图省事全开0.0.0.0/0,万一被扫描到就惨了!最好只开放你的办公IP。点确定后,阿里云会自动生效,这一步搞定后,你的MySQL终于能"呼吸"了。

第二步:修改MySQL配置文件

安全组放行了,但MySQL自己可能还锁着门——默认只监听本地127.0.0.1。得让它"听"到外网请求。

编辑my.cnf

通过SSH登录服务器,找到配置文件位置(不同系统可能不同):

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

或者:

sudo vim /etc/my.cnf

找到bind-address这一行,改成:

bind-address = 0.0.0.0

或者直接注释掉(前面加#):

# bind-address = 127.0.0.1

阿里云实名 保存退出,重启MySQL服务:

sudo systemctl restart mysql

检查端口是否监听:

netstat -tuln | grep 3306

如果看到0.0.0.0:3306,说明成功。如果还是127.0.0.1,再检查配置文件是否改对了。

第三步:创建远程访问用户

现在MySQL允许远程连接了,但默认的root用户通常不允许远程登录。得新建一个专门的远程用户。

登录MySQL并授权

在服务器上执行:

mysql -u root -p

输入密码进入MySQL命令行,然后:

CREATE USER 'remote_user'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;

注意:'%'表示允许任何IP连接,也可以指定具体IP,比如'192.168.1.1'。密码一定要复杂!别用123456,否则黑客分分钟笑醒。

第四步:检查服务器防火墙

有些系统自带防火墙(比如Ubuntu的ufw),可能拦了3306端口。得单独放行。

ufw防火墙设置

执行:

sudo ufw allow 3306/tcp
sudo ufw reload

检查状态:

sudo ufw status

应该看到3306/tcp已允许。如果用firewalld,命令是:

sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

常见问题排查

阿里云实名 按步骤操作后,还是连不上?别急,常见问题在这儿:

连接被拒绝?

可能原因:

  • 安全组没配对:检查阿里云控制台的规则是否包含3306端口
  • MySQL配置没改:确认bind-address是0.0.0.0
  • 防火墙挡了:检查ufw或firewalld是否放行
  • MySQL服务没重启:改完配置记得重启

可以用telnet 你的服务器IP 3306测试端口是否开放,如果连不上,说明网络层有问题。

权限错误?

比如Access denied for user 'remote_user'@'xxx'

  • 用户权限没配对:检查是否用GRANT ALL PRIVILEGES,或者具体库权限
  • 用户IP不对:比如你配的是'remote_user'@'192.168.1.1',但实际连接IP是其他
  • 密码输错了:检查大小写、特殊字符,或者用ALTER USER改密码

安全提醒:别把自己玩成"靶子"

开放3306端口到公网,风险极高!黑客专门扫这类端口。建议:

  • 只开放必要IP,别用0.0.0.0/0
  • 用SSH隧道连接:本地用SSH转发3306端口,既安全又方便
  • 定期改密码,用密码管理器存好
  • 考虑用阿里云的RDS,自带安全防护

终极方案:用SSH隧道代替直接连接

如果你不想把MySQL暴露在公网,SSH隧道是更安全的选择。本地执行:

ssh -L 3306:127.0.0.1:3306 root@你的服务器IP

然后本地连接127.0.0.1:3306,数据会通过SSH加密隧道传输,黑客想截获?做梦!

总结

阿里云MySQL远程连接,其实就三步:安全组放行、MySQL配置调整、用户授权。但每一步都藏着"坑",比如安全组漏配、bind-address没改、密码不对。只要按步骤来,再结合安全建议,分分钟搞定。别忘了,远程连接不是开闸放水,安全永远是第一位的——毕竟,你的数据可是比你家WiFi密码还值钱呢!

下载.png

如果需要更深入咨询了解可以联系全球代理上TG: @cloudcup  他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,微软云开户充值。oss防风控上传加密系统。客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。
Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系