So führen Sie MySQL mit Docker-Compose aus

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur

.
│ .env
│ docker-compose.yml
│
└─mysql
 ├─Konfiguration
 │ meine.cnf
 │
 └─Daten

Das Datenverzeichnis unter dem MySQL-Verzeichnis ist das Datenverzeichnis, in dem sich die MySQL-Datentabellen und Binärprotokolldateien befinden. Die .env-Datei enthält einige Variablen, auf die in der Datei docker-compose.yml mit ${variable_name} verwiesen werden kann.

Natürlich können Sie das MySQL-Verzeichnis auch woanders ablegen, aber hier habe ich es der Einfachheit halber direkt in dasselbe Verzeichnis wie die YML-Datei gelegt.

.env-Datei

MYSQL_ROOT_PASSWORD=Wurzel
MYSQL_ROOT_HOST=%
MYSQL_DIR=./mysql

MySQL-Konfigurationsdatei my.cnf

[mysqld]
Zeichensatzserver = utf8mb4
Standardzeitzone = '+8:00'
innodb_rollback_on_timeout='EIN'
max_verbindungen=500
innodb_lock_wait_timeout=500

Bei Verwendung der Standardkonfiguration kann diese Datei weggelassen werden.

docker-compose.yml

Version: '3'

Leistungen:

 MySQL-Datenbank:
 container_name: mysql-docker # Geben Sie den Namen des Container-Image an: mysql:8.0 # Geben Sie das Image und die Versionsports an:
 - „3306:3306“
 Umfeld:
 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
 MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
 Bände:
 - "${MYSQL_DIR}/data:/var/lib/mysql" #Datenverzeichnis mounten - "${MYSQL_DIR}/config:/etc/mysql/conf.d" #Konfigurationsdateiverzeichnis mounten

Umgebungsvariablen

  • MYSQL_ROOT_PASSWORD: Dies ist selbsterklärend, das Passwort des Root-Benutzers.
  • MYSQL_USER, MYSQL_PASSWORD: Diese beiden Variablen sind optional und erstellen einen neuen Benutzer mit Superuser-Berechtigungen für die durch die Variable MYSQL_DATABASE angegebene Datenbank.
  • MYSQL_DATABASE: Gibt eine Datenbank an, die beim Start des Containers erstellt werden soll.
  • MYSQL_ALLOW_EMPTY_PASSWORD: Auf „Ja“ setzen, um dem Root-Benutzer ein leeres Passwort zu erlauben. (Nicht empfohlen)
  • MYSQL_RANDOM_ROOT_PASSWORD: Auf „Ja“ setzen, um beim Starten des Containers ein zufälliges Kennwort für den Root-Benutzer zu generieren. Das Kennwort wird im Standardausgabestream angezeigt (GENERIERTES ROOT-PASSWORT: ………).
  • MYSQL_ONETIME_PASSWORD: bedeutet wörtlich ein Einmalkennwort, das für den Root-Benutzer festgelegt wird. Das Kennwort muss nach der ersten Anmeldung geändert werden (wird nur in den Versionen 5.6 und höher unterstützt).

Ausführen des Containers

Führen Sie es im Verzeichnis docker-compose.yml aus:

> docker-compose up

Um es im Hintergrund auszuführen, verwenden Sie docker-compose up -d .

Stoppen Sie den Container:

> docker-compose down

Wenn es im Vordergrund ausgeführt wird, verwenden Sie zum Stoppen Strg + C. Beide Methoden löschen den Container nach dem Stoppen und beim nächsten Starten muss der Befehl „up“ verwendet werden.

Container stoppen, aber nicht löschen:

> docker-compose stop

Nach dem Anhalten mit dem Stopp-Befehl starten Sie mit dem Start-Befehl neu.

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte Methode zum Ausführen von MySQL mit Docker-Compose. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Docker Compose stellt ein SpringBoot-Projekt bereit, um eine Verbindung zu MySQL herzustellen, und die dabei auftretenden Fallstricke
  • Implementierung eines Docker-Compose-Bereitstellungsprojekts basierend auf MySQL8
  • Verwenden Sie Dockercompose, um eine Springboot-MySQL-Nginx-Anwendung zu erstellen
  • Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist
  • So erstellen Sie ein Elk-System mit Docker Compose
  • Detaillierter Prozess zum Erstellen von MongoDB und MySQL mit Docker-Compose

<<:  So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL

>>:  Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

Artikel empfehlen

Der Unterschied zwischen MySQL count(1), count(*) und count(field)

Inhaltsverzeichnis 1. Erster Blick auf COUNT 2. D...

Einfache Tipps zur Erhöhung der Ladegeschwindigkeit von Webseiten

Die Ladegeschwindigkeit einer Webseite ist ein wic...

Vue-Beispielcode mit dem Animationseffekt „Übergangskomponente“

Die Übergangsdokumentadresse definiert eine Hinte...

So packen Sie das Projekt per Idee in Docker

Viele Freunde wollten schon immer wissen, wie man...

Vue implementiert horizontales Scrollen von Text im Laufschriftstil

In diesem Artikel wird der spezifische Code für V...

Analyse der Unterschiede zwischen Mysql InnoDB und MyISAM

MySQL unterstützt viele Arten von Tabellen (d. h....

Beispiel für die Kompilierung von LNMP im Docker-Container

Inhaltsverzeichnis 1. Projektbeschreibung 2. Ngin...

Der Unterschied zwischen MySQL execute, executeUpdate und executeQuery

Die Unterschiede zwischen „execute“, „executeUpda...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...