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

Nginx-Weiterleitung basierend auf URL-Parametern

Anwendungsszenarien: Der Sprungpfad muss entsprec...

JavaScript implementiert Tab-Leisten-Umschalteffekte

Hier ist ein Fall, den Frontend-Entwickler kennen...

Zusammenfassung der HTML-Formatierungsstandards für webbasierte E-Mail-Inhalte

1. Seitenanforderungen 1) Verwenden Sie standardm...

Zusammenfassung der wichtigsten Attribute des Body-Tags

bgcolor="Textfarbe" background="Hin...

CocosCreator - modulares Lernskript

Modulares Cocos Creator-Skript Mit Cocos Creator ...

So entwickeln Sie Java 8 Spring Boot-Anwendungen in Docker

In diesem Artikel zeige ich Ihnen, wie Sie mit Ja...

Zwei Implementierungslösungen für die Vuex-Datenpersistenz

Inhaltsverzeichnis Geschäftsanforderungen: Lösung...

So verwenden Sie Cursor-Trigger in MySQL

Cursor Die von der Auswahlabfrage zurückgegebenen...

WML-Tag-Zusammenfassung

Strukturbezogene Tags ----------------------------...

Detaillierte Analyse der MySQL Master-Slave-Replikation

Vorwort: In MySQL sollte die Master-Slave-Archite...

Vue implementiert einen beweglichen schwebenden Button

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Diskussion der InnoDB-Sperren (Record-, Gap-, Next-Key-Sperre)

Die Datensatzsperre sperrt einen einzelnen Indexd...

Analyse des Ereignisschleifenmechanismus von JavaScript

Inhaltsverzeichnis Vorwort: 1. Gründe für die Ere...