Heim >Datenbank >MySQL-Tutorial >Wie initialisiere ich eine MySQL-Datenbank mit Schema in einem Docker-Container?

Wie initialisiere ich eine MySQL-Datenbank mit Schema in einem Docker-Container?

Linda Hamilton
Linda HamiltonOriginal
2024-12-25 12:34:09179Durchsuche

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

MySQL-Datenbank mit Schema im Docker-Container initialisieren

Das Initialisieren einer MySQL-Datenbank mit Schema in einem Docker-Container kann eine Herausforderung sein. Hier ist eine Lösung, um dieses Problem zu beheben:

1. MySQL-Schema sichern

Speichern Sie Ihr MySQL-Schema mit dem folgenden Befehl in einer Datei:

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql

2. Schemadatei zur Docker-Datei hinzufügen

Fügen Sie in Ihrer Docker-Datei die Schemadatei mit dem Befehl ADD zum Verzeichnis /docker-entrypoint-initdb.d hinzu. Das docker-entrypoint.sh-Skript im Container führt alle SQL-Dateien in diesem Verzeichnis gegen die Datenbank aus.

Beispiel-Dockerdatei:

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-Container erstellen und ausführen

Sobald die Docker-Datei geändert wurde, erstellen Sie den Container und führen Sie ihn aus:

docker-compose build
docker-compose up

4. Zusätzliche Hinweise

  • Stellen Sie sicher, dass der MySQL-Benutzer über ausreichende Berechtigungen zum Erstellen der Datenbank und Tabellen verfügt.
  • Passen Sie den MySQL-Host, den Benutzernamen, das Passwort und den Schemanamen nach Bedarf an .
  • Stellen Sie sicher, dass das Skript „docker-entrypoint.sh“ vom Root-Benutzer innerhalb des Containers ausführbar ist, da es für die Ausführung des Schemas verantwortlich ist Initialisierung.

Indem Sie diese Schritte befolgen, können Sie eine MySQL-Datenbank mit Schema innerhalb eines Docker-Containers erfolgreich initialisieren und das Problem beseitigen, dass der CMD nicht ordnungsgemäß ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine MySQL-Datenbank mit Schema in einem Docker-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn