1. Installieren Sie mysql5.6 Docker führt MySQL aus: 5.6 Warten Sie, bis alle Elemente heruntergeladen und installiert sind 5.6: Aus Bibliothek/MySQL ziehen 10a267c67f42: Ziehen abgeschlossen c2dcc7bb2a88: Pull abgeschlossen 17e7a0445698: Ziehen abgeschlossen 9a61839a176f: Ziehen abgeschlossen d4657fda01d9: Ziehen abgeschlossen c5278a445e5d: Ziehen abgeschlossen 197c0b76f238: Ziehen abgeschlossen f54c5432bac4: Ziehen abgeschlossen c26b15abee8a: Ziehen abgeschlossen 80dbe6022c18: Ziehen abgeschlossen 435678c09612: Ziehen abgeschlossen Zusammenfassung: sha256:84372107beb1de34bd4673049ea61bc35f374a2b4f19fd5a3abd4d0a2a50b715 Status: Neueres Image für mysql:5.6 heruntergeladen Fehler: Datenbank ist nicht initialisiert und Kennwortoption ist nicht angegeben Sie müssen eines der folgenden Elemente angeben: MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD und MYSQL_RANDOM_ROOT_PASSWORD 2. Verwenden Sie ein lokales Konto, um einen Ordner zum Zuordnen der MySQL-Konfigurationsdatei in Docker zu erstellen Erstellen Sie weiterhin 3 Ordner: conf, data und logs Meine Konfiguration ist wie folgt val@val-linux:~/docker/mysql1$ pwd /home/val/docker/mysql1 val@val-linux:~/docker/mysql1$ ls conf-Datenprotokolle 3. Erstellen Sie einen MySQL-Container Wechseln Sie zum Root-Konto und geben Sie den soeben erstellten mysql1-Ordner ein root@val-linux:/home/val# cd /home/val/docker/mysql1/ root@val-linux:/home/val/docker/mysql1# Erstellen und Starten eines Containers docker run -p 33061:3306 --name mysql1 -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.61 Verwenden Sie den lokalen Port 33061, um den Port 3306 von Docker zuzuordnen, und benennen Sie den Container mysql1 Verwenden Sie das lokale Verzeichnis /home/val/docker/mysql1/conf, um die MySQL-Konfiguration abzubilden. Verwenden Sie das lokale Verzeichnis /home/val/docker/mysql1/logs, um MySQL-Protokolle zuzuordnen. Verwenden Sie das lokale Verzeichnis /home/val/docker/mysql1/data, um mysql_data zuzuordnen Setzen Sie das Root-Passwort auf 123456 4. Starten Sie den MySQL-Container Docker startet MySQL11 5. Geben Sie mysql bash ein docker exec -it mysql1 env LANG=C.UTF-8 bash Unter anderem ermöglicht env LANG=C.UTF-8 bash der Docker-Befehlszeile die Unterstützung von Chinesisch 6. Kopieren Sie die Konfigurationsdatei cp /usr/meine.cnf /etc/mysql/meine.cnf 7. Melden Sie sich bei MySQL an mysql -u root -p Geben Sie das Passwort ein, um einzutreten 8. Überprüfen Sie die MySQL-Kodierung mysql> Variablen wie „%character%“ anzeigen; +-----------------------------+----------------------------+ | Variablenname | Wert | +-----------------------------+----------------------------+ | Zeichensatzclient | latin1 | | Zeichensatzverbindung | latin1 | | Zeichensatzdatenbank | latin1 | | Zeichensatz_Dateisystem | Binär | | Zeichensatzergebnisse | latin1 | | Zeichensatzserver | latin1 | | Zeichensatzsystem | utf8 | | Zeichensatzverzeichnis | /usr/share/mysql/charsets/ | +-----------------------------+----------------------------+ 8 Zeilen im Satz (0,01 Sek.) Habe festgestellt, dass es keine UTF-8-Kodierung ist 9. Ändern Sie die MySQL-Kodierung MySQL beenden, Docker beenden mysql> beenden Tschüss root@8b83a30acbf8:/# beenden Ausfahrt root@val-linux:/home/val/docker/mysql1# Ändern Sie die Konfigurationsdatei my.cnf root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf Drücken Sie i, um in den Bearbeitungsmodus zu wechseln dazu kommen [Client] Standardzeichensatz = utf8 [mysql] Standardzeichensatz = utf8 [mysqld] Zeichensatz-Server=utf8 1 esc :wq! Speichern und beenden 10. Starten Sie MySQL im Docker neu und überprüfen Sie den Code erneut root@val-linux:/home/val/docker/mysql1# docker stop mysql1 mysql1 root@val-linux:/home/val/docker/mysql1# docker start mysql1 mysql1 root@val-linux:/home/val/docker/mysql1# docker exec -it mysql1 env LANG=C.UTF-8 bash root@8b83a30acbf8:/#mysql -u root -p Passwort eingeben: Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 1 Serverversion: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle und/oder Tochtergesellschaften. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> Variablen wie „%character%“ anzeigen; +-----------------------------+----------------------------+ | Variablenname | Wert | +-----------------------------+----------------------------+ | Zeichensatzclient | utf8 | | Zeichensatzverbindung | utf8 | | Zeichensatzdatenbank | latin1 | | Zeichensatz_Dateisystem | Binär | | Zeichensatzergebnisse | utf8 | | Zeichensatzserver | latin1 | | Zeichensatzsystem | utf8 | | Zeichensatzverzeichnis | /usr/share/mysql/charsets/ | +-----------------------------+----------------------------+ 8 Zeilen im Satz (0,00 Sek.) 11. Erstellen Sie eine Datenbank mysql> Datenbank erstellen rise; Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> verwenden Sie rise; Datenbank geändert 12. Benutzer anlegen und autorisieren mysql> gewähre bei rise.* alle Privilegien an val@'%', identifiziert durch '123456'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Berechtigungen leeren; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) % steht für eine beliebige IP (IP kann angegeben werden), val ist der Benutzername, 123456 ist das Passwort Oben ist die Methode, die ich Ihnen vorgestellt habe, um mysql5.6 in Docker unter Ubuntu zu installieren. Ich hoffe, sie wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten! Das könnte Sie auch interessieren:
|
<<: Implementierung eines Tomcat-Images, das mit Dockerfile basierend auf Alpine erstellt wurde
>>: Detaillierte Erklärung zur Verwendung des Canvas-Operation-Plugins fabric.js
In diesem Artikel wird beschrieben, wie Sie das P...
Wie wir alle wissen, wird die absolute CSS-Positi...
Als ich zum ersten Mal mit HTML in Berührung kam,...
Was ist eine HTML-Datei? HTML steht für Hyper Text...
Heute habe ich von Alibaba Cloud eine Festplatten...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...
Kürzlich habe ich vom Vue-Projekt erfahren und bi...
Aktivieren Sie den Dienst, wenn Sie ihn benötigen...
Inhaltsverzeichnis Einzelner Thread asynchron Ein...
Problemerklärung: Wenn Sie die CSS-Eigenschaft „a...
In diesem Artikelbeispiel wird der spezifische Ja...
Inhaltsverzeichnis 1. Warum Redux 2. Redux-Datenf...
Analysieren Sie vier gängige Methoden und Prinzip...
Bei gleichzeitigen Zugriffen kann es zu nicht wie...