首頁 > 資料庫 > mysql教程 > 如何在 Docker 容器內使用架構初始化 MySQL 資料庫?

如何在 Docker 容器內使用架構初始化 MySQL 資料庫?

Linda Hamilton
發布: 2024-12-25 12:34:09
原創
185 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板