繁体   English   中英

如何在单个容器中的 docker-compose 文件中创建多个 mysql 数据库用户?

[英]How to create multiple mysql database users in a docker-compose file with in a single container?

我有一个 docker-compose 文件,其中包含多个服务(WordPress,nocodb)需要一个 mysql 数据库,但我不想为每个服务创建单独的容器(mysql)。 我计划使用一个具有多个用户的 mysql 容器。 那么,如何使用 docker-compose 添加多个用户

首先 docker 的整体概念是将每个服务隔离到单独的容器中。

但是,通过使用卷将 sql 文件添加到/docker-entrypoint-initdb.d文件夹中, mysql映像入口点脚本将调用所有.sql文件。

version: '3'

services:
  db:
    image: mysql:5.7
    volumes:
      - ./<your-path>/init:/docker-entrypoint-initdb.d

然后您可以添加一个文件./<your-path>/init/01-users.sql

# create your root user
CREATE USER 'root'@'localhost' IDENTIFIED BY 'local';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
# create other users
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
# grand appropriated rights

和一个文件./<your-path>/init/02-databases.sql

# create databases
CREATE DATABASE IF NOT EXISTS `<first>`;
CREATE DATABASE IF NOT EXISTS `<second>`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM