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

Vercel生产环境MySQL连接异常:日志主机名与.env配置不符

问题分析与解决

核心误解澄清

日志里的ec2-3-236-108-51.compute-1.amazonaws.com不是你配置的数据库主机名,而是Vercel服务器发起数据库连接请求时的客户端IP对应的反向解析主机名。MySQL的Access denied for user 'xxx'@'yyy'错误中,yyy指的是发起连接的客户端地址,而非目标数据库地址。

问题本质

你的MySQL数据库未授权Vercel服务器的IP(或对应主机名)访问,导致连接被拒绝,进而触发504网关超时错误。

解决步骤

  • 修正环境变量前缀:不要用NEXT_PUBLIC_前缀存储数据库敏感配置,NEXT_PUBLIC_开头的变量会暴露给前端。改用普通变量名(比如DB_HOSTNAME),并在Vercel应用设置的「环境变量」中手动添加该变量(本地.env中的非NEXT_PUBLIC_变量不会自动同步到Vercel生产环境)。
  • 授权Vercel访问MySQL:
    1. 确认Vercel的出站IP范围(可通过Vercel官方渠道获取固定IP段)。
    2. 在MySQL中执行授权命令,允许Vercel的IP/主机名访问:
      -- 单个主机名授权
      GRANT ALL PRIVILEGES ON your_database_name.* TO 'myusername'@'ec2-3-236-108-51.compute-1.amazonaws.com' IDENTIFIED BY 'your_db_password';
      -- 或更稳妥的网段授权(以Vercel实际IP段为准)
      GRANT ALL PRIVILEGES ON your_database_name.* TO 'myusername'@'3.236.0.0/16' IDENTIFIED BY 'your_db_password';
      
    3. 刷新MySQL权限:
      FLUSH PRIVILEGES;
      
  • 检查防火墙/安全组:确保数据库所在服务器的防火墙或云服务商安全组,允许Vercel的IP段访问3306端口(MySQL默认端口)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:20:31