【问题标题】:MariaDB/MySQL docker image does not populate the db in the init scriptMariaDB/MySQL docker 映像未在 init 脚本中填充数据库
【发布时间】:2021-01-06 07:29:33
【问题描述】:
services:
  mariadb:
    image: mariadb:10.5.8-focal
    env_file:
      - .env
    volumes:
      - .data/mariadb:/var/lib/mysql
      - .docker/mysql/init/:/docker-entrypoint-initdb.d/
    ports:
      - "3308:3306"

有一个初始化脚本.sql

CREATE DATABASE 'biostar';
grant all privileges on *.* to 'root'@'172.18.0.3' identified by 'biostar';
grant all privileges on *.* to 'biostar'@'172.18.0.3' identified by 'biostar';

预计: 一个名为 biostar 的数据库

实际: 没有额外的数据库,只有默认的

【问题讨论】:

  • script.sql 在哪里?是在${PWD}/.docker/mysql/init吗?
  • 是的!它在那里

标签: mysql docker mariadb


【解决方案1】:

有几件事可能会导致您的问题。

首先,CREATE DATABASE 'biostar'; 的语法不正确——您需要使用反引号而不是单引号

其次,script.sql 需要在.docker/mysql/init 文件夹中(并且.docker 文件夹需要和你的docker-compose.yaml 在同一个文件夹中,或者你应该指定一个以/ 开头的完整路径)

【讨论】:

  • 引号有效,但问题是缺少 ./ 前缀
猜你喜欢
  • 1970-01-01
  • 2021-10-16
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多