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
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.
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:
|
<<: Implementierungsschritte für die Paketierung und Optimierung von Vue-Projekten
>>: Detailliertes Tutorial zur Installation von Python 3.8.1 unter Linux
MySQL meldet den folgenden Fehler Ich ging zu „Sy...
Als ich heute nach einer Seite auf Baidu suchte, d...
Vorwort: Ich lerne derzeit Linux und .Net Core un...
Einführung: Heutzutage werden bei der Anmeldung o...
Hintergrund Mit der Entwicklung des Geschäfts exp...
1. Einleitung Heute hat mich ein Kollege gefragt,...
In diesem Artikel wird der spezifische JS-Code zu...
Definition und Verwendung von Blockquote Das Tag ...
Parallelitätsfunktionen Zeit für i in `grep serve...
Inhaltsverzeichnis iview-admin2.0 integrierte Ber...
In tatsächlichen Projekten befinden sich die Bild...
In Projekten werden häufig Batch-Operationsanweis...
Verwenden Sie vite, um ein vue3-Projekt zu erstel...
In der folgenden Analyse geht es um Produktdesign...
Anwendungsszenario In der Datentabelle muss die A...