Docker-Installations- und Konfigurationsschritte für MySQL

Docker-Installations- und Konfigurationsschritte für MySQL

Vorwort

MySQL ist die beliebteste Open-Source-Datenbank der Welt. Dieser Artikel zeigt, wie Sie MySQL auf Docker installieren und konfigurieren.

Bildbeschreibung hier einfügen

Umfeld

  • CentOS 7
  • Docker 20.10.10

Installieren

Ziehen Sie das Bild

Docker-Pull MySQL

Wenn Sie eine Version angeben möchten, fügen Sie nach MySQL : +版本號hinzu, zum Beispiel:

docker pull mysql:8.0.16

Laden Sie die neueste MySQL-Version direkt hier herunter

Bildbeschreibung hier einfügen

Spiegel anzeigen

Docker-Bilder

Bildbeschreibung hier einfügen

Erstellen und Starten des MySQL-Containers

Erstellen von Datenverzeichnissen und Konfigurationsdateien

Erstellen Sie vorab das Verzeichnis für die MySQL-Konfigurationsdateien und das Datenverzeichnis auf dem Host und erteilen Sie Berechtigungen, um Startfehler beim Mounten externer Konfigurationen und Daten zu vermeiden:

Bildbeschreibung hier einfügen

Erstellen Sie ein Verzeichnis zum Platzieren von MySQL-Konfigurationsdateien und Datenverzeichnissen

mkdir -p /meineDaten/mysql/

Ordnerberechtigungen festlegen

chmod -R 755 /meineDaten/mysql

Die erste Zahl gibt die Berechtigungen des Dateibesitzers an, die zweite Zahl gibt die Berechtigungen anderer Benutzer an, die derselben Benutzergruppe angehören wie der Dateibesitzer, und die dritte Zahl gibt die Berechtigungen anderer Benutzergruppen an.
Es gibt drei Arten von Berechtigungen: Lesen (r=4), Schreiben (w=2) und Ausführen (x=1).
Zusammenfassend gibt es lesbar und ausführbar (rx=5=4+1), lesbar und beschreibbar (rw=6=4+2) und lesbar, beschreibbar und ausführbar (rwx=7=4+2+1). Also, chmod
755 legt die Berechtigungen des Benutzers wie folgt fest:
1. Der Dateibesitzer kann lesen, schreiben und ausführen --7
2. Andere Benutzer, die zur gleichen Benutzergruppe wie der Dateibesitzer gehören, können lesen und ausführen --5
3. Andere Benutzergruppen können lesen und ausführen

Erstellen Sie die my.cnf-Konfigurationsdatei

mkdir -p /meineDaten/mysql/conf
berühren Sie /mydata/mysql/conf/my.cnf

Bearbeiten der my.cnf-Konfigurationsdatei

vi /meineDaten/mysql/conf/meine.cnf

Fügen Sie den folgenden Konfigurationsinhalt hinzu

[Kunde]
Standardzeichensatz = utf8
[mysql]
Standardzeichensatz = utf8
[mysqld]
init_connect = 'SET-Sortierung_Verbindung = utf8_unicode_ci'
init_connect='Namen festlegen utf8'
Zeichensatzserver = utf8
Sortierserver = utf8_unicode_ci
Zeichensatz-Client-Handshake überspringen
Namensauflösung überspringen
secure_file_priv=/var/lib/mysql

erinnern

Unabhängig davon, ob Sie meine Konfiguration verwenden oder nicht, kopieren Sie unbedingt diesen Satz, wenn Sie eine neue Version von MySQL installieren:

secure_file_priv=/var/lib/mysql

Wenn Sie den MySQL-Container zum ersten Mal erstellen und starten, greift MySQL auf den Ordner /var/lib/mysql zu. Wenn Sie keine Berechtigung haben, schlägt der Start fehl. Nach der Verwendung von Docker PS können Sie den laufenden MySQL-Container nicht sehen. Sie müssen den Wert von secure_file_priv auf /var/lib/mysql setzen, damit Sie die Berechtigung haben, normal auf das Verzeichnis /var/lib/mysql zuzugreifen und darin zu lesen und zu schreiben.

Zugriff auf Verzeichnis für --secure-file-priv fehlgeschlagen. Bitte stellen Sie sicher, dass das Verzeichnis existiert und für MySQL Server zugänglich ist. Angegebener Wert: /var/lib/mysql-files
Übersetzung: Auf das Verzeichnis mit --secure-file-priv kann nicht zugegriffen werden. Bitte stellen Sie sicher, dass das Verzeichnis existiert und vom MySQL-Server aus zugänglich ist. Angegebener Wert: /var/lib/mysql-Datei

  • Der Wert von secure_file_priv ist null, was bedeutet, dass mysqld beim Importieren und Exportieren eingeschränkt ist.
  • Der Wert von secure_file_priv ist /tmp/, was bedeutet, dass der MySQL-Import und -Export nur im Verzeichnis /tmp/ erfolgen kann.
  • Der Wert von secure_file_priv ist leer, was bedeutet, dass es keine Einschränkung für den MySQL-Import und -Export gibt.

Befehl „MySQL-Container erstellen und starten“

sudo docker run -p 3306:3306 --name mysql \
-v /meineDaten/mysql/log:/var/log/mysql \
-v /meineDaten/mysql/data:/var/lib/mysql \
-v /meineDaten/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:neueste

Parameterbeschreibung:

  • -p 3306:3306 : Ordnen Sie den Port 3306 des Containers dem Port 3306 des Hosts zu.
  • --name mysql : Definieren Sie den Containernamen als mysql
  • -v /mydata/mysql/log:/var/log/mysql : Mounten Sie den MySQL-Protokollordner auf dem Host.
  • -v /mydata/mysql/data:/var/lib/mysql : Mounten Sie den MySQL-Datenordner auf dem Host.
  • -v /mydata/mysql/conf:/etc/mysql : mountet den MySQL-Konfigurationsordner auf dem Host
  • -e MYSQL_ROOT_PASSWORD=root : Initialisiert das Root-Benutzerpasswort.
  • -d mysql:latest : Wählt die neueste MySQL-Version zum Erstellen des Containers aus

Bildbeschreibung hier einfügen

Anzeigen laufender Container

Docker PS

Bildbeschreibung hier einfügen

Geben Sie den MySQL-Container zur Konfiguration ein

Befehl eingeben

docker exec -it Container-ID ./bin/bash

Bildbeschreibung hier einfügen

Herstellen einer Verbindung mit MySQL

Da wir hier das Standardkennwort von MySQL auf root festgelegt haben, lautet das Kennwort nach p root

mysql -uroot -proot

Bildbeschreibung hier einfügen

MySQL-Passwort ändern

Verwenden der MySQL-Bibliothek

MySQL verwenden

Ändern Sie den Zugriffshost und das Passwort usw. und legen Sie fest, dass es für alle Hosts zugänglich ist

 ALTER USER 'root'@'%' IDENTIFIZIERT MIT mysql_native_password VON 'root';

注意:mysql_native_password,mysql8.x版本必須使用這種模式,否則navicate無法正確連接

Testen der Verbindung

Bitte stellen Sie sicher, dass die Firewall vor dem Testen ausgeschaltet ist. Wenn es sich um einen Cloud-Server handelt, denken Sie daran, die Regel 3306 zu öffnen

Deaktivieren der Firewall unter Linux

# Schließen Sie systemctl stop firewalld
# Deaktivieren Sie den Start der Firewall systemctl disable firewalld

Cloud-Dienst öffnet Port 3306

Bildbeschreibung hier einfügen

Testen Sie die Verbindung mit Navicat

Bildbeschreibung hier einfügen

Testen Sie die Verbindung mit SQLyog

Bildbeschreibung hier einfügen

Das Tutorial zur Docker-Installation und -Konfiguration von MySQL ist abgeschlossen!

Oben sind die Details der Implementierungsschritte zur Installation und Konfiguration von MySQL mit Docker aufgeführt. Weitere Informationen zur Installation von MySQL mit Docker finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

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
  • Docker-Installation von MySQL (8 und 5.7)
  • So installieren Sie MySQL und MariaDB in Docker
  • So installieren Sie allgemeine Komponenten (MySQL, Redis) in Docker
  • So installieren Sie MySQL8 in Docker

<<:  Drei gängige Methoden, um HTML-Seiten nach 3 Sekunden automatisch zu springen

>>:  Eine "klassische" Falle der MySQL UPDATE-Anweisung

Artikel empfehlen

JavaScript-Entwurfsmuster, Lernadaptermuster

Inhaltsverzeichnis Überblick Code-Implementierung...

So schreiben Sie mithilfe von Filtern transparentes CSS für Bilder

So schreiben Sie mithilfe von Filtern transparente...

HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

<br />In der HTML-Sprache können Sie der Tab...

Rankings zur Benutzerfreundlichkeit chinesischer Websites

<br />Die Benutzererfahrung wird von chinesi...

vue+element-ui implementiert die Kopfnavigationsleistenkomponente

In diesem Artikel wird der spezifische Code von v...

So erhalten Sie USB-Scannerdaten mit js

In diesem Artikel wird der spezifische Prozess zu...

jQuery implementiert den Tabellen-Paging-Effekt

In diesem Artikel wird der spezifische Code von j...

Grundlegende Nutzungsdetails zur Vue-Komponentenbildung

Inhaltsverzeichnis 1. Was ist Komponentenbildung?...

Installation und Daemon-Konfiguration von Redis unter Windows und Linux

# Installations-Daemon-Konfiguration für Redis un...