You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lightsail跨实例数据库连接失败,求其他可行方法

解决Lightsail实例间数据库连接失败的排查步骤
  • 检查Lightsail实例防火墙规则
    确认实例1的Lightsail防火墙(控制台「网络」标签下)不仅开放3306端口,还要明确允许实例2的私有IP(或对应IP段)访问。避免仅开放0.0.0.0/0,一来不安全,二来可能因Cloudflare代理导致公网IP识别异常,直接使用实例私有IP访问更可靠。

  • 验证MySQL用户权限配置
    即使修改了bind-address,MySQL用户可能仍被限制为仅本地(localhost/127.0.0.1)访问。登录实例1的MySQL,执行SELECT user, host FROM mysql.user;查看目标用户的host字段。若为localhost,需修改为允许实例2的IP(或%,生产环境不推荐):

    GRANT ALL PRIVILEGES ON 目标数据库名.* TO '用户名'@'实例2的IP地址' IDENTIFIED BY '密码';
    FLUSH PRIVILEGES;
    
  • 确认Cloudflare代理状态
    若abc.example.com开启了Cloudflare代理,实例1的公网IP会被Cloudflare节点IP替代,而Cloudflare默认不代理3306端口(需额外开通Spectrum服务)。此时要么将abc.example.com切换为「DNS Only」模式,要么让实例2直接使用实例1的私有IP连接(私有IP可在Lightsail控制台实例详情中查看)。

  • 测试网络连通性
    在实例2上执行telnet 实例1的IP 3306或nc -zv 实例1的IP 3306,验证端口是否能正常连通。若不通,需确认:实例是否在同一区域默认VPC(同区域Lightsail实例默认互通私有IP);跨区域的话需配置VPC对等连接或调整公网防火墙规则。

  • 检查MySQL服务状态
    在实例1上执行systemctl status mysql(或mysqld)确认服务正常运行,且修改bind-address后已重启服务(配置变更需重启才会生效)。

  • 排查实例本地防火墙
    除Lightsail云防火墙外,实例自身可能有iptables或ufw(Ubuntu)等本地防火墙规则。比如Ubuntu执行ufw status、CentOS执行firewall-cmd --list-all,确认3306端口未被本地规则拦截。

内容的提问来源于stack exchange,提问作者geeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:43:15