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
Freigeben: 2024-12-25 12:34:09
Original
222 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage