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

Docker Compose启动MariaDB时初始化SQL脚本不执行问题求助

MariaDB容器初始化脚本无法自动执行问题

环境与背景

我按照MariaDB官方文档操作,文档说明若容器内/docker-entrypoint-initdb.d目录下存在.sql文件,数据库会自动完成初始化。当前环境是Oracle VirtualBox虚拟机中的Ubuntu Server,使用docker-compose部署MariaDB容器。

docker-compose.yml配置

version: "3.9"

services:
  db:
    image: mariadb:10
    container_name: mariadb
    ports:
      - 3306:3306
    environment:
      - MYSQL_USER=user
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_PASSWORD=password
      - MARIADB_DATABASE=database # 尝试过使用MYSQL_DATABASE及删除该行

    volumes:
      - "db_data:/var/lib/mysql"
      - ".database/initdb/dump.sql:/docker-entrypoint-initdb.d/initdb.sql"
    # networks:
    #   - network

volumes:
  db_data:

尝试过的初始化脚本

最简测试脚本

CREATE DATABASE NEWDB;

后续修改的脚本

CREATE USER user WITH PASSWORD 'password';
CREATE DATABASE IF NOT EXISTS database;
GRANT ALL PRIVILEGES ON DATABASE database TO user;

已执行的排查步骤

  • 重启Docker服务
  • 删除所有容器、镜像及卷后重新部署
  • 确认容器内/docker-entrypoint-initdb.d/initdb.sql文件存在
  • 测试MARIADB_DATABASE环境变量可正常创建指定数据库,但初始化脚本仍未执行

后续需求

后续将部署PHP容器,通过PHP脚本收集数据存储至该MariaDB容器,同时MariaDB需对接网站提供数据支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:50:20