gpt4 book ai didi

mysql - 我想在docker容器中创建一个MySql数据库,并在容器启动时在其中执行一些DDL和DML语句

转载 作者:行者123 更新时间:2023-11-29 16:58:20 24 4
gpt4 key购买 nike

这是我的docker-compose.yml文件

version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password

默认数据库已创建“user_management”,现在我有包含DDL和DML语句的文件,我想执行它们,即DDL语句(创建表)和DML语句(插入一些用户)默认情况下)。不是通过输入 bash 并手动执行语句,而是通过任何自动 docker 方式加载包含 DDL 和 DML 语句的文件并执行它。

最佳答案

在 mysql dockerhub 中,在/docker-entrypoint-initdb.d 中找到的扩展名为 .sh、.sql 和 .sql.gz 的文件将在容器启动时执行到 MYSQL_DATABASE 变量指定的数据库。

version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password
volumes:
- /yourscript:/docker-entrypoint-initdb.d

如上所述,您可以挂载卷并在该位置添加 DDL 和 DML 脚本。然后mysql将在启动时执行它们。 /yourscript 是脚本的位置

关于mysql - 我想在docker容器中创建一个MySql数据库,并在容器启动时在其中执行一些DDL和DML语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com