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

Docker部署MySQL容器未生成指定默认数据库,求问题排查

问题分析与解决办法

问题原因

MySQL官方镜像的MYSQL_DATABASE、MYSQL_USER这类环境变量,只有在容器第一次启动且数据目录为空时才会触发初始化逻辑,用来自动创建指定数据库和用户。你执行docker-compose up --force-recreate -d只是重建了容器,但之前MySQL的数据卷(默认是Docker自动创建的匿名卷)已经存在,里面保存了之前的数据库数据,所以新容器启动时会跳过初始化流程,不会自动创建buckets_db数据库。

解决办法

方法1:清理旧数据卷后重新初始化(适合无现有数据需要保留的情况)

  1. 停止服务并彻底删除容器及关联的数据卷:
docker-compose down -v
  1. 重新启动服务:
docker-compose up -d

这次容器启动时数据卷为空,会读取.env中的配置自动创建buckets_db数据库和对应的用户。

方法2:手动创建数据库(适合需要保留现有数据的情况)

如果不想删除已有数据,可通过Adminer手动操作:

  1. 用root账号登录Adminer管理界面
  2. 执行以下SQL语句创建数据库并授权用户:
CREATE DATABASE buckets_db;
GRANT ALL PRIVILEGES ON buckets_db.* TO 'buckets_user'@'%';
FLUSH PRIVILEGES;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 14:38:17