Docker-Installation von MySQL (8 und 5.7)

Docker-Installation von MySQL (8 und 5.7)

In diesem Artikel wird die Verwendung von Docker zum Bereitstellen einer MySQL-Datenbank und zur Konfiguration des Fernzugriffs vorgestellt.

Installieren von MySQL

Ziehen Sie das Bild

Verwenden Sie den folgenden Befehl, um das MySQL-Datenbankabbild abzurufen:

$ sudo docker pull mysql # Zieht die neuste Version des Images, derzeit MySQL 8, Tag ist latest

$ sudo docker pull mysql:5.7 # Geben Sie an, dass MySQL Version 5.7 gezogen werden soll

Mit dem Suchbefehl können Sie auch andere MySQL-bezogene Mirrors finden, die mit der Anzahl der Sterne, also der Popularität, gekennzeichnet sind.

$ sudo Docker Suche MySQL

Ausführen von MySQL

$ sudo docker run -p 3306:3306 \
  --name mysql \
  -v $PWD/conf:/etc/mysql/conf.d \
  -v $PWD/Protokolle:/Protokolle \
  -v $PWD/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=Ihr Passwort \
  -d MySQL

Befehlserklärung:

  • -p 3306:3306: Ordnen Sie den Port 3306 des Containers dem Port 3306 des Hosts zu.
  • -v $PWD/conf:/etc/mysql/conf.d: Mounten Sie conf/my.cnf im aktuellen Verzeichnis des Hosts in /etc/mysql/my.cnf im Container.
  • -v $PWD/logs:/logs: Mounten Sie das Protokollverzeichnis unter dem aktuellen Verzeichnis des Hosts in die /logs des Containers.
  • -v $PWD/data:/var/lib/mysql: Mounten Sie das Datenverzeichnis unter dem aktuellen Verzeichnis des Hosts in /var/lib/mysql des Containers.
  • -e MYSQL_ROOT_PASSWORD=Ihr Passwort: Initialisiert das Passwort des Root-Benutzers. Es wird empfohlen, ein sehr komplexes Passwort zu verwenden.
  • -d mysql: Der Name des Images, das bereitgestellt werden soll. Wenn es Version 5.7 ist, lautet es mysql:5.7

Konfigurieren des Remotezugriffs

Der Remote-Zugriff auf MySQL ist eine grundlegende Konfiguration. Bei der Konfiguration müssen Sie jedoch auf Sicherheitsaspekte achten, da sonst Sicherheitsrisiken, insbesondere bei Unternehmensservern, entstehen.

Beachten Sie außerdem, dass der Port 3306 in der Firewall des Servers und in der Sicherheitsgruppe des Serveranbieters aktiviert sein muss, da er sonst nicht erreichbar ist.

Um den Fernzugriff zu konfigurieren, öffnen Sie zunächst das MySQL-Steuerterminal und verwenden Sie den folgenden Befehl, um es zu öffnen:

$ sudo docker exec -it mysql bash # Rufen Sie den MySQL-Container auf $ mysql -uroot -p # Melden Sie sich bei MySQL an und geben Sie nach der Ausführung das Passwort ein

$ use mysql; # Wählen Sie die Verwendung der MySQL-Datenbank

MySQL 8-Konfiguration

CREATE USER 'Benutzername'@'%' IDENTIFIZIERT DURCH 'Passwort';
# Erstellen Sie ein Konto für den Fernzugriff;
# {usernama} ist der Benutzername für die Fernzugriffsanmeldung. Die Verwendung von root wird nicht empfohlen.
# {password} ist das Anmeldekennwort für den Fernzugriff;
# „%“ steht für alle IPs. Versuchen Sie, wenn möglich, eine bestimmte IP oder ein bestimmtes IP-Segment festzulegen. GRANT ALL ON *.* TO „Benutzername“@„%“;
# Erteilen Sie dem zuvor erstellten Konto alle Berechtigungen. ALTER USER 'Benutzername'@'%' IDENTIFIED WITH mysql_native_password BY 'Passwort';
# Bestätigen Sie hier, dass Sie das Passwort für die Anmeldung bei diesem Konto verwenden möchten. FLUSH PRIVILEGES;
# Berechtigungen aktualisieren

Der vollständige Befehl lautet wie folgt:

ERSTELLEN SIE BENUTZER „james“@„%“, IDENTIFIZIERT DURCH „123456asd“;
# Erstellen Sie ein Konto – James für den Fernzugriff;

GRANT ALLES AUF *.* AN 'james'@'%';
# Erteilen Sie dem zuvor erstellten Konto alle Berechtigungen: james

ALTER USER 'james'@'%' IDENTIFIZIERT MIT mysql_native_password VON '123456asd';
# Bestätigen Sie, dass Sie das Passwort {123456asd} verwenden möchten, um sich bei diesem Konto {james} anzumelden
# Machen Sie das Passwort für eine höhere Sicherheit so komplex wie möglich.

FLUSH-PRIVILEGIEN;
# Berechtigungen aktualisieren

Verwenden Sie nach der Konfiguration Navicat oder andere Tools, um die Verbindung zu testen.

MySQL 5.7-Konfiguration

GEWÄHREN SIE ALLE PRIVILEGIEN FÜR *.* AN „Benutzername“@„%“, IDENTIFIZIERT DURCH „Passwort“, MIT DER GRANT-OPTION;
# {usernama} ist der Benutzername für die Fernzugriffsanmeldung. Es wird nicht empfohlen, root zu verwenden;
# {password} ist das Anmeldekennwort für den Fernzugriff;
# „%“ stellt alle IPs dar. Versuchen Sie, wenn möglich, eine bestimmte IP oder ein bestimmtes IP-Segment FLUSH PRIVILEGES festzulegen.
# Berechtigungen aktualisieren

Verwenden Sie nach der Konfiguration Navicat oder andere Tools, um die Verbindung zu testen.

Hinweis: Sollte kein Zugriff möglich sein, prüfen Sie bitte, ob der Firewall-Port 3306 geöffnet ist und ob der Port in der Sicherheitsgruppe des Serveranbieters geöffnet ist.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So installieren Sie MySQL und Redis in Docker
  • Detaillierte Schritte zur Installation von Tomcat, MySQL und Redis mit Docker
  • So installieren Sie MySQL in Docker
  • Tutorial zur Installation von MySQL mit Docker und zur Implementierung einer Remote-Verbindung
  • So installieren Sie MySQL 8.0 in Docker
  • So installieren Sie MySQL und MariaDB in Docker
  • So installieren Sie allgemeine Komponenten (MySQL, Redis) in Docker
  • So installieren Sie MySQL8 in Docker
  • Docker-Installations- und Konfigurationsschritte für MySQL

<<:  JavaScript+html implementiert zufällige QR-Code-Verifizierung auf Frontend-Seiten

>>:  JavaScript + HTML zur Implementierung der Sliding-Verifizierung für Front-End-Seiten

Artikel empfehlen

Analyse der Ursache des Docker-Fehlers Beendet (1) vor 4 Minuten

Docker-Fehler 1. Überprüfen Sie die Ursache Docke...

Eine Sammlung möglicher Probleme bei der Migration von SQLite3 nach MySQL

Kurzbeschreibung Passend für Leser: Mobile Entwic...

Vollständiger Prozessbericht der Nginx-Reverse-Proxy-Konfiguration

1. Vorbereitung Installieren Sie Tomcat auf dem L...

Detaillierte Erklärung zur Verwendung von MySQL mysqldump

1. Einführung in mysqldump mysqldump ist ein logi...

CentOS 7 Installations- und Konfigurations-Tutorial unter VMware10

Während Ubuntu heute das beliebteste Linux-Betrie...

Anfänger lernen einige HTML-Tags (1)

Anfänger können HTML lernen, indem sie einige HTM...

Detaillierte Erklärung der neuen Hintergrundeigenschaften in CSS3

Bisher kannten wir mehrere Hintergrundattribute i...

So überprüfen Sie die Speichernutzung unter Linux

Bei der Behebung von Systemproblemen, Anwendungsv...

Zusammenfassung der HOC-Nutzung von React-High-Order-Komponenten

Ein Satz zur Einführung von HOC Was ist eine Komp...