Beheben von Problemen beim Importieren und Exportieren von Mysql

Beheben von Problemen beim Importieren und Exportieren von Mysql

Hintergrund

Da ich alle meine Aufgaben auf Docker-Betrieb und -Verwaltung umgestellt habe, bin ich auf eine Reihe von Fallstricken gestoßen, dieses Mal war es das Problem der MySQL-Sicherung.

Der Grund dafür ist, dass beim Starten des MySQL-Images -v nicht angegeben wurde, was dazu führte, dass der Docker nach einer gewissen Zeit sehr groß wurde. Die ursprüngliche Festplatte reichte nicht aus und musste auf eine neue Festplatte migriert werden.

Beim Import und Export traten einige Probleme auf und es wurde viel Zeit damit verschwendet, diese zu lösen.

Lösungsprozess

Das zu lokalisierende MySQL-Image ist zu groß

Den von Containern belegten Platz anzeigen

```Docker-System DF``` 

Details anzeigen

Speicherplatznutzung lokaler Datenträger:
VOLUMEN 
NAME LINKS GRÖSSE
3e764b0633ea2c3f3dc5b0bf79dc753055d7c09451b477d3015650c66ea4a5fb 0 0B
598a592e1f9d90d2564c7c52f45f6f6a96784ad0426ec60682299fa1a1b93b96 0 0B
5eb12b3b0091810bbe3c94c5801ad2f2ff51d79b69b0ac01eb37cf00d37d89f6 0 0B
admin_logs 0 0B
f42e3ef90e4c7b3658a0fb4a877e90b298b12cb58cd63f38d9b4ad5c2ab41d73 0 0B
3361b9c615e09708170018dc7d170b8d4b498dd83cbcb155a3d41234d08e8119 1 9,3 G

Zu diesem Zeitpunkt haben gemäß den oben zurückgegebenen Informationen nur zwei Container VOLUMES, einer ist MySQL und der andere ist Redis. Verwenden Sie daher den Befehl docker inspect container_id, um die spezifischen Informationen des spezifischen Containers anzuzeigen und festzustellen, dass es sich tatsächlich um das 9,3-G-Volumen handelt.

CONTAINER ID IMAGE BEFEHL LOKALE VOLUMEN GRÖSSE 
cb76bbc211e6 mysql "docker-entrypoint.s…" 1 7B

Sichern Sie MySQL auf der neu bereitgestellten Festplatte.

```docker exec -it mysql mysqldump -u Benutzername -p Passwort Datenbank > /mnt/vdb/data/mysql/test_db.sql```
Benutzername, Passwort und Datenbankänderung

MySQL importieren

1. Um sicherzustellen, dass die vorherigen Daten noch vorhanden sind, starten Sie einen weiteren MySQL-Container und ordnen Sie ihn mit -v dem Host zu.

2. Führen Sie dann Folgendes aus: docker exec -i mysqld mysql -uroot -proot federation < /mnt/vdb/data/mysql/fed_db.sql

Der Fehler kommt

FEHLER 1064 (42000) in Zeile 1: In Ihrer SQL-Syntax liegt ein Fehler vor.
Überprüfen Sie das Handbuch für Ihre MySQL-Serverversion für die
richtige Syntax für 'mysqldump: [Warnung] Die Verwendung eines Passworts auf dem
Die Kommandozeilenschnittstelle kann in Zeile 1 aufgerufen werden.

Ich habe viele Informationen gesucht, aber ohne Erfolg, also habe ich beschlossen, ein grafisches Tool zum direkten Sichern zu verwenden. Ich habe Navicat verwendet, das Backup erstellt, es in ein neues Image importiert und der Import war erfolgreich.

  • Die Zeilen darin unterscheiden sich von dem, was ich nach dem Import angezeigt habe
  • Die Zeilen darin unterscheiden sich von dem, was ich nach dem Import angezeigt habe
  • Die Zeilen darin unterscheiden sich von dem, was ich nach dem Import angezeigt habe

  • Was zum Teufel? Die Gesamtzahl beträgt 1688, aber es wird nur 1480 angezeigt?
  • Gehe in den Docker-Container und verwende die Kommandozeile zur Abfrage. Es ist tatsächlich 1688. Die angezeigten Zeilen sind tatsächlich falsch. Also...

Zusammenfassen

Wenn Sie Docker verwenden, sollten Sie überlegen, ob Sie externe Volumes verwenden müssen. Im Allgemeinen ist es am besten, externe Volumes für Datenbanken zu verwenden, was die Sicherung und Migration sehr bequem macht.

Verlassen Sie sich nicht zu sehr auf die GUI der Datenbank, die Befehlszeile ist die bewährteste und zuverlässigste

Wenn das wirklich nicht klappt, kannst du jede Menge Festplatten hinzufügen. Die liegen ja alle auf dem Server, allerdings musst du darauf achten, dass der Server nicht abstürzt, sonst gehen die Daten schnell verloren.

Das ist alles für diesen Artikel. Ich hoffe, dass der Inhalt dieses Artikels für Ihr Studium oder Ihre Arbeit von gewissem Referenzwert ist. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Acht gängige SQL-Verwendungsbeispiele in MySQL
  • MySql schnelles Einfügen von zig Millionen großen Datenbeispielen
  • Häufige Ursachen und Lösungen für langsame MySQL-SQL-Anweisungen

<<:  Implementierungsschritte für die Paketierung und Optimierung von Vue-Projekten

>>:  Detailliertes Tutorial zur Installation von Python 3.8.1 unter Linux

Artikel empfehlen

Spezifische Methode zum Löschen des MySQL-Dienstes

MySQL meldet den folgenden Fehler Ich ging zu „Sy...

JS realisiert den Scroll-Effekt von Online-Ankündigungen

In diesem Artikel wird der spezifische JS-Code zu...

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

Implementierung des iview-Berechtigungsmanagements

Inhaltsverzeichnis iview-admin2.0 integrierte Ber...

JavaScript zum Erzielen eines benutzerdefinierten Bildlaufleisteneffekts

In tatsächlichen Projekten befinden sich die Bild...

Schritte zum Erstellen des Projekts vite+vue3+element-plus

Verwenden Sie vite, um ein vue3-Projekt zu erstel...

Mehrere Grundsätze für die Produktdesign-Referenz auf Websites

In der folgenden Analyse geht es um Produktdesign...

MySQL-Tabellenfeld Zeiteinstellung Standardwert

Anwendungsszenario In der Datentabelle muss die A...