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

GCP Compute Engine上MySQL无法连接问题求助

解决GCP VM上MySQL外部连接被拒绝(4003)的问题

以下是排查和解决这个问题的关键步骤:

  • 修改MySQL绑定地址
    MySQL默认仅监听本地回环地址127.0.0.1,外部请求无法到达。找到MySQL配置文件(常见路径为/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/my.cnf),将bind-address参数改为0.0.0.0(允许所有IP访问)或VM的内部IP,随后重启服务:

    sudo systemctl restart mysql
    
  • 验证MySQL监听状态
    在VM上执行以下命令,确认MySQL是否在全网段监听3306端口:

    netstat -tulpn | grep mysql
    

    如果输出仅显示127.0.0.1:3306,说明绑定地址配置未生效,需重新检查配置文件。

  • 核对GCP防火墙规则
    确保防火墙规则满足以下要求:

    • 目标范围覆盖你的VM实例(可通过网络标签或实例指定)
    • 来源IP设置为你本地机器的公网IP(临时测试可用0.0.0.0/0,但不建议长期开放)
    • 协议为TCP,端口明确指定3306
  • 授予MySQL用户外部访问权限
    登录MySQL控制台,为连接用户授予外部访问权限(%允许所有IP,也可指定你本地IP提升安全性):

    GRANT ALL PRIVILEGES ON *.* TO '你的用户名'@'%' IDENTIFIED BY '你的密码';
    FLUSH PRIVILEGES;
    
  • 检查VM本地防火墙
    部分Linux发行版自带的ufw或iptables可能拦截3306端口,执行以下命令开放端口:

    # 针对ufw
    sudo ufw allow 3306/tcp
    sudo ufw reload
    
    # 针对iptables
    sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    sudo iptables-save > /etc/iptables/rules.v4
    
  • 确认DBeaver连接配置
    检查DBeaver的连接参数:确保端口为3306,用户名、密码与VM上的MySQL用户一致,未误填其他端口信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:15:50