mysql docker启动脚本
时间: 2023-08-25 12:07:06 浏览: 163
MySQL(Docker) 自动备份 Shell 脚本
回答: 如果你想在启动MySQL Docker容器时执行一些初始化的SQL脚本,可以通过在容器启动时挂载一个包含脚本的目录,并在Dockerfile中使用ENTRYPOINT命令来指定执行脚本的命令。
首先,确保你已经安装了Docker和Docker Compose。如果你使用的是Docker Desktop,那么你不需要额外安装Docker Compose。然后,你可以从GitHub上下载对应版本的Docker Compose。
接下来,你需要选择MySQL版本为8.0的Docker镜像。你可以使用以下命令来启动一个MySQL容器,并指定root用户的密码和创建的数据库名:
```
docker run -d --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=admin mysql:8.0
```
这样会创建一个名为admin的数据库,但是它是一个空的数据库。如果你想在容器启动时自动执行指定的SQL脚本,你可以将这些脚本放在一个目录中,并将该目录挂载到容器中。例如,你可以将脚本放在一个名为`init-scripts`的目录中。
然后,你可以使用以下的Docker Compose文件来定义你的MySQL容器,并在该文件中指定挂载的目录和执行脚本的命令:
```yaml
version: '3'
services:
mysql:
image: mysql:8.0
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: admin
volumes:
- ./init-scripts:/docker-entrypoint-initdb.d
```
在这个例子中,我们将`./init-scripts`目录挂载到容器的`/docker-entrypoint-initdb.d`目录中,这是MySQL官方镜像中用于执行初始化脚本的目录。你可以将你的初始化SQL脚本放在`./init-scripts`目录中,并在容器启动时自动执行。
希望这能帮到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [docker容器启动Mysql执行初始化sql脚本实现](https://blog.csdn.net/Allocator/article/details/117092356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Docker(五)、启动mysql时自动执行脚本](https://blog.csdn.net/qq_32923745/article/details/80817477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文