Um Installationszeit zu sparen, habe ich zum Starten von MySQL das offizielle MySQL-Docker-Image verwendet. passieren Kopieren Sie den Code wie folgt: $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mein-geheimes-pw -d daocloud.io/mysql:tag some-mysql gibt den Namen des Containers an, my-secret-pw gibt das Kennwort für den Root-Benutzer an und der Tag-Parameter gibt die gewünschte MySQL-Version an. Auf diese Weise sind die Daten nicht persistent, daher muss das lokale Verzeichnis in den Startparametern bereitgestellt werden. Die Datenbank lief bisher so, aber da das Programm neuerdings Emoji-Ausdrücke unterstützen muss, muss ich den Zeichensatz von MySQL ändern. Kopieren Sie den Code wie folgt: $ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mein-geheimes-pw -d daocloud.io/mysql:tag Zu diesem Zeitpunkt können Sie die benutzerdefinierte Konfigurationsdatei mounten, das offizielle Dokument erklärt Beim Starten des MySQL-Dienstes wird /etc/mysql/my.cnf als Konfigurationsdatei verwendet. Diese Datei importiert alle Dateien mit der Endung .cnf in das Verzeichnis /etc/mysql/conf.d. Diese Dateien erweitern oder überschreiben die Konfiguration in der Datei /etc/mysql/my.cnf. Sie können also Ihre eigenen Konfigurationsdateien erstellen und sie im Verzeichnis /etc/mysql/conf.d im MySQL-Container bereitstellen. Der einfachste Weg, die Datenbankkonfiguration zu ändern, besteht darin, eine neue Konfigurationsdatei auf dem Host zu erstellen und sie in utf8mb4 zu ändern. [Kunde] Standardzeichensatz = utf8mb4 [mysqld] Zeichensatz-Client-Handshake = FALSE Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci [mysql] Standardzeichensatz = utf8mb4 Anschließend kopieren Sie die Datei in den entsprechenden Docker-Container-Ordner docker cp /home/my.cnf (Hostdateipfad) [Container-ID]:/etc/mysql/mysql.conf.d Verwenden Sie abschließend die Docker-Befehle „Stop“ und „Start“, um den Container neu zu starten und die benutzerdefinierte Konfiguration zu laden. Der mit dem offiziellen MySQL-Image von Docker konfigurierte Container kann nicht gestartet werden Ich verwende das Docker-Image von MySQL. Zuerst das Image erstellen und starten: # docker run --name mysql-b \ > -p 33002:3306 -v /zc/mysql/datadir-b:/var/lib/mysql \ > -e MYSQL_ROOT_PASSWORD='123456' -d mysql:latest Normal gestartet, keine Probleme. Normalerweise müssen wir Parameter festlegen, wenn wir MySQL verwenden. Um die Parameter festzulegen, müssen wir zuerst die Bash des Containers aufrufen und Folgendes tun: docker exec -it mysql -b bash Die Standardkonfigurationsdatei für MySQL ist die Datei /etc/mysql/my.cnf. Wenn Sie die Konfiguration anpassen möchten, wird empfohlen, eine .cnf-Datei im Verzeichnis /etc/mysql/conf.d zu erstellen. Die neu erstellte Datei kann beliebig benannt werden, solange die Endung cnf lautet. Die Konfigurationselemente in der neu erstellten Datei können die Konfigurationselemente in /etc/mysql/my.cnf überschreiben. Da das offizielle Docker-Image von MySQL den Vim-Editor nicht bereitstellt, verwende ich den Befehl cat, um die Datei zu generieren und Inhalt hinzuzufügen: # Katze >test.cnf <<EOF [mysqldump] Benutzer=root Passwort='123456' [mysqld] max_allowed_package=8M Kleinbuchstabentabellennamen = 1 Zeichensatzserver = utf8 max_verbindungen=900 max_connect_errors=600 Standardzeichensatz = utf8 Ende der Laufzeit Stoppen Sie den Container nach dem Beenden und starten Sie ihn neu. Stellen Sie dann fest, dass der Container nicht gestartet werden kann. Problemumgehung Löschen Sie den ursprünglichen Container, der nicht gestartet werden kann. Erstellen Sie einen neuen Container. Der Schlüssel zum Problem liegt darin, dass die ursprüngliche Datei test.cnf einen Fehler enthält. Suchen Sie die letzte Zeile der ursprünglichen Konfigurationsdatei: Standardzeichensatz = utf8 Löschen Sie diese Zeile. Achten Sie beim Hinzufügen der Konfigurationsdatei darauf, dass eine solche Zeile nicht vorhanden ist. Ursache Im offiziellen Docker-Image von MySQL gibt es unter dem Tag „latest“ im Konfigurationsabschnitt [mysqld] kein Konfigurationselement für den Standardzeichensatz. docker run -it --rm mysql:tag --verbose --help > hilfe.txt Das Tag gibt die Bezeichnung des Bildes an, z. B. „neueste“ und „5.6“. 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:
|
<<: Tutorial zur Installation von MySQL 5.6 mit RPM in CentOS
>>: JavaScript zum Filtern von Arrays
Vorwort: Ich bin kürzlich auf das Problem der Ins...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Projekterstellung Projektstruk...
Das doppelte Absenden von Formularen ist das häuf...
Inhaltsverzeichnis Umfeld Zusammenfassung Modul F...
Vorwort Samba ist eine kostenlose Software, die d...
Inhaltsverzeichnis 1. Art von 2. Instanz von 3. K...
1. Umgebungsversion Docker-Version 19.03.12 cento...
Ich habe kürzlich einige CSS-bezogene Wissenspunk...
Inhaltsverzeichnis 1. Index-Grundlagen 1.1 Einlei...
1. Einleitung Der Befehl Telnet dient zur Anmeldu...
Seine Funktion besteht darin, einen globalen Stil ...
Socat muss vor der Installation von rabbitmq inst...
Nach der Installation von VMware Tools ① kann Tex...
Inhaltsverzeichnis Vorwort 1. Grundkenntnisse der...