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

RHEL7.5 MySQL 8.0.11 Installations-Tutorial

Dieser Artikel zeichnet das Installationstutorial...

Implementierung der Docker-Bereitstellung von Django+Mysql+Redis+Gunicorn+Nginx

I. Einleitung Die Docker-Technologie erfreut sich...

SQL-basierte Abfrageanweisungen

Inhaltsverzeichnis 1. Einfache SELECT-Anweisung 1...

So starten Sie Tomcat mit jsvc (als normaler Benutzer ausführen)

Einführung in jsvc In der Produktion sollte Tomca...

Linux verwendet join -a1, um zwei Dateien zusammenzuführen

Um die folgenden beiden Dateien zusammenzuführen,...

So ermitteln Sie die Größe eines Linux-Systemverzeichnisses mit dem Befehl du

Jeder, der das Linux-System verwendet hat, sollte...

JS realisiert einfachen Bildkarusselleffekt

In diesem Artikel wird der spezifische JS-Code zu...

So installieren Sie pyenv unter Linux

Voraussetzungen Git muss installiert werden Insta...

Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate

Inhaltsverzeichnis 1. Baidu-Enzyklopädie 1. MySQL...

Implementierung der MySQL8.0.11-Datenverzeichnismigration

Das Standardspeicherverzeichnis von MySQL ist /va...

Detaillierte Erläuterung der kombinierten MySQL-Abfrage

Verwenden von UNION Die meisten SQL-Abfragen best...