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

部署Golang应用到AWS Elastic Beanstalk时遇mysql.sock不存在错误

解决AWS Elastic Beanstalk部署Golang应用时的mysql.sock权限错误

问题定位

部署时EB的StageApplication步骤尝试修改/var/app/staging/mysql/mysql.sock的权限,但实际文件状态异常(即使手动确认存在,也可能是打包时套接字文件损坏,或EB部署脚本的时序问题),且切换SQLite后问题依旧,说明部署流程中仍残留MySQL相关的权限处理逻辑。

解决步骤

  • 清理本地打包内容
    本地开发生成的mysql/目录(含sock套接字文件)可能被误打包进部署包,导致EB部署时处理异常。将mysql/加入.gitignore或打包工具的排除列表,重新生成干净的部署包。

  • 添加EB扩展配置跳过不必要的权限操作
    在项目根目录创建.ebextensions文件夹,新建01-fix-permissions.config文件,写入以下内容:

    container_commands:
      01_remove_mysql_dir:
        command: "rm -rf /var/app/staging/mysql || true"
      02_skip_chown_check:
        command: "echo 'Skipping mysql.sock chown - SQLite in use'"
    

    该配置会在部署阶段提前删除可能存在的mysql目录,避免EB默认脚本尝试修改其权限。

  • 检查EB环境配置
    登录Elastic Beanstalk控制台,进入环境的「配置」-「软件」页面,确认没有配置MySQL相关的环境变量或附加组件;同时检查项目的Procfile和go.mod,确保无残留的MySQL依赖引用。

  • 强制清理缓存重新部署
    执行命令eb deploy --staged触发全新部署,或在控制台重启环境,清除旧的部署缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 09:32:54