首页 > 数据库 > mysql教程 > 如何在 Docker 容器内使用架构初始化 MySQL 数据库?

如何在 Docker 容器内使用架构初始化 MySQL 数据库?

Linda Hamilton
发布: 2024-12-25 12:34:09
原创
205 人浏览过

How to Initialize a MySQL Database with Schema Inside a Docker Container?

在 Docker 容器中使用架构初始化 MySQL 数据库

在 Docker 容器中使用架构初始化 MySQL 数据库可能具有挑战性。以下是解决此问题的解决方案:

1.转储 MySQL 架构

使用以下命令将 MySQL 架构转储到文件:

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
登录后复制

2.将架构文件添加到 Dockerfile

在 Dockerfile 中,使用 ADD 命令将架构文件添加到 /docker-entrypoint-initdb.d 目录。容器中的 docker-entrypoint.sh 脚本将针对数据库执行此目录中的任何 .sql 文件。

示例 Dockerfile:

FROM mysql:5.7.15

MAINTAINER me

ENV MYSQL_DATABASE=<schema_name> \
    MYSQL_ROOT_PASSWORD=<password>

ADD schema.sql /docker-entrypoint-initdb.d

EXPOSE 3306
登录后复制

3.构建并运行 Docker 容器

修改 Dockerfile 后,构建并运行容器:

docker-compose build
docker-compose up
登录后复制

4.附加说明

  • 确保MySQL用户有足够的权限来创建数据库和表。
  • 根据需要调整MySQL主机、用户名、密码和架构名称.
  • 验证 docker-entrypoint.sh 脚本是否可由容器内的 root 用户执行,因为它负责执行 schema

按照以下步骤,您可以在 Docker 容器内成功初始化具有 schema 的 MySQL 数据库,并消除 CMD 无法正常执行的问题。

以上是如何在 Docker 容器内使用架构初始化 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板