Verwenden Sie das offizielle MySQL-Image, um den Datenbankdienst zu erstellen. Die aktuell neueste Version entspricht der Version 8.0.19. Um Kompatibilitätsprobleme in den folgenden Schritten nach der Aktualisierung der offiziellen Version zu vermeiden, können Sie bei Verwendung des Images die Version 8.0.19 angeben. 1 Konfigurations- und Datenverzeichnisse erstellenErstellen Sie auf diesem Computer ein Verzeichnis, um MySQL-Konfigurationen und -Daten zu speichern.
Docker-Pull MySQL 3 Kopieren Sie die Konfigurationsdatei vom Image auf den HostDie internen Konfigurationsdateien des Images werden im Verzeichnis /etc/mysql gespeichert. Ein temporärer Container wird erstellt, um das Konfigurationsdateiverzeichnis in das lokale Verzeichnis ~/docker/conf/ zu kopieren. # Erstellen Sie einen Container mit dem Namen mysql docker run --name mysql -e MYSQL_ROOT_PASSWORD=crane -d mysql # Kopieren Sie die Konfigurationsdatei im Docker-Container in das lokale Verzeichnis ~/docker/conf/mysql docker cp mysql:/etc/mysql /Users/crane/docker/conf/ # Stoppen und löschen Sie den temporären Container docker stop mysql Docker RM MySQL 4 Erstellen und Ausführen des MySQL-ContainersHängen Sie die Hostkonfigurations- und Datendateiverzeichnisse in den Docker-Container ein und führen Sie die folgenden Befehle im Terminal aus: # ~/docker/conf/mysql enthält die MySQL-Konfigurationsdatei # ~/docker/data/mysql enthält die MySQL-Datendatei # Die lokalen Ports 3306 und 33060 sind den Ports 3306 bzw. 33060 in Docker zugeordnet # Das Root-Passwort der Datenbank lautet crane # -d Docker im Hintergrund ausführen docker run --name mysql -v ~/docker/conf/mysql:/etc/mysql/conf.d -v ~/docker/data/mysql:/var/lib/mysql -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=crane -d mysql 5 Host stellt Verbindung zur Datenbank her5.1 Terminal-BefehlsverbindungNachdem der Container im vorherigen Schritt erfolgreich gestartet wurde, führen Sie den folgenden Befehl im Host-Terminal aus, um eine Verbindung zur Datenbank herzustellen # Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste. Geben Sie das Datenbankkennwort crane ein mysql -uroot -p --protocol=tcp Der obige Befehl gibt an, dass TCP für die Verbindung mit der Datenbank verwendet werden soll. Wenn Sie --protocol=tcp nicht hinzufügen, wird die Standardverbindung über Socket hergestellt und der folgende Fehler wird gemeldet 5.2 Datenbank-Tool-VerbindungSie können auch eine Verbindung mithilfe von Datenbanktools wie DataGrip herstellen, um entsprechende Datenoperationen durchzuführen. 6 MySQL-Protokoll anzeigenWährend des normalen Betriebs des Containers können Sie den folgenden Befehl verwenden, um das Protokoll anzuzeigen Docker-Protokolle -f MySQL Verwenden Sie beim Erstellen von Diensten extern bereitgestellte Konfigurationen und Daten, um die Datensicherung und -migration zu erleichtern. Wenn Sie einen Container auf einem anderen Host mit derselben Version des Docker-Images starten und die gesicherte Konfiguration und Daten mounten, erhalten Sie genau dieselbe Datenbankkonfiguration und dieselben Daten. Siehe das offizielle MySQL-Image Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
>>: So verwenden Sie async und await in JS
Lassen Sie mich kurz das Funktionsszenario erklär...
Vor kurzem habe ich ein Projekt, bei dem ich mit i...
1. Grundlegende Verwendung von Firewalld Start-up...
Xiaobai zeichnet die Installation von vmtools auf...
1. Wie installiert man? 1. [Ausführen] -> [cmd...
Da es zu mühsam ist, jedes Mal das Installationst...
Vor ein paar Tagen habe ich mir ein Video von ein...
In diesem Artikel wird der spezifische Code von V...
Nachdem ich das letzte Mal die Taobao-Detailseite ...
Datenbankanwendungen sind ein unverzichtbarer Bes...
Dieser Artikel ist ein integrierter Artikel zum E...
Das Verwendungsformat des mysqladmin-Tools ist: m...
Lassen Sie mich Ihnen zunächst vorstellen, dass d...
Redux ist ein einfacher Statusmanager. Wir werden...
Der spezifische Code lautet wie folgt: <div id...