奋斗
努力

阿里云轻量服务器是否支持远程mysql?

云计算

阿里云轻量应用服务器(Lightweight Application Server)默认不支持直接通过公网远程连接 MySQL,这是出于安全考虑。

默认情况下,轻量服务器的防火墙和安全组策略会禁止外部访问 3306 端口。要实现远程连接,你需要手动完成以下两个关键步骤:

1. 配置安全组规则

这是最关键的一步。你需要登录阿里云控制台,找到你的轻量应用服务器实例,进入“网络”或“安全组”设置页面:

  • 添加入方向规则:新建一条规则,允许 TCP 协议,端口范围填写 3306,授权对象(源 IP)设置为:
    • 0.0.0.0/0(允许所有 IP 访问,风险较高,仅用于测试或内网环境)。
    • 或者指定具体的 IP 地址(如你公司的办公 IP),这样更安全。

2. 配置 MySQL 用户权限

即使放行了端口,MySQL 数据库本身也需要允许远程用户登录。你需要登录到服务器内部执行以下操作:

  • 登录 MySQL:mysql -u root -p
  • 修改 root 用户或创建新用户,允许从任意主机(%)或特定 IP 连接:
    -- 允许 root 用户从任何 IP 连接(注意:生产环境建议限制具体 IP)
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    CREATE USER 'remote_user'@'%' IDENTIFIED BY '你的强密码';
    GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
    FLUSH PRIVILEGES;

    注意:高版本 MySQL (8.0+) 默认使用 caching_sha2_password 插件,部分旧版客户端可能无法连接,可能需要切换为 mysql_native_password 或更新客户端驱动。

⚠️ 重要安全提示

由于轻量服务器通常没有像 ECS 那样复杂的 VPC 隔离,直接开放 3306 端口到公网存在被暴力破解或勒索病毒攻击的高风险。建议采取以下措施:

  1. 最小化授权:在安全组中只开放你当前电脑的 IP,而不是 0.0.0.0/0。
  2. 使用 SSH 隧道:推荐通过 SSH 端口转发(Tunneling)来连接,不直接暴露 3306 端口。
    • 命令示例:ssh -L 3307:localhost:3306 user@your-server-ip
    • 然后在本地客户端连接 localhost:3307。
  3. 开启白名单:如果业务需要,尽量绑定特定的云产品 IP 段。

结论:支持远程连接,但必须手动配置安全组放行 3306 端口并调整 MySQL 用户权限,同时务必做好安全防护。

未经允许不得转载:云服务器 » 阿里云轻量服务器是否支持远程mysql?