OBS/Admihilfe/MySQLShell: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
Die MySQL Shell ist ein CMD Tool, was in Zukunft auch das MySQLDump ersetzten wird.  
Die MySQL Shell ist ein CMD Tool, was in Zukunft auch das MySQLDump ersetzten wird.  


Die Shell muss über den MySQL Installer extra installiert werden
Die Shell muss über den MySQL Installer extra installiert werden. Bitte immer die Version installieren, die auch die Datenbank hat.


[[Datei:MySQLShellInstall.png|rahmenlos]]
[[Datei:MySQLShellInstall.png|rahmenlos]]

Version vom 1. November 2023, 14:38 Uhr

<accesscontrol>Programmierer</accesscontrol>


Admin-Hilfe

OBS-Administration / Installation
OBS Umzug
Allgemein
kundenspezifische Anpassungen
OBS Protokolle

Was ist die MySQL Shell?

Die MySQL Shell ist ein CMD Tool, was in Zukunft auch das MySQLDump ersetzten wird.

Die Shell muss über den MySQL Installer extra installiert werden. Bitte immer die Version installieren, die auch die Datenbank hat.

MySQLShellInstall.png

Wofür ist die MySQL Shell gut?

Die MySQL Shell ist sehr vielseitig, momentan wird sie aber nur für den Im- und Export von Datenbanken benutzt.

Datenexport mit der MySQL Shell

Für den Export werden im Grunde nur 2 Befehle benötigt, nachdem man die Shell gestartet hat:

  1. \connect root@"Servername" und danach das Passwort eingeben
  2. util.dumpSchemas(["Datenbankname"],"Zielpfad mit "/"", {showProgress: "true",threads:12, consistent:"false"})

Die Parameter bedeuten folgendes:

showProgress → lässt den Fortschritt im Fenster mitlaufen

threads → Anzahl der Threads die die Shell intern zum Dumpen nutzt

consistent → entpsricht dem Parameter "SingleTransaction" beim alten Dump. Sollte auf false stehen, wenn im laufenden Betrieb genutzt


Wenn die gesamte Datenbankinstallation gesichert werden soll, geht das mit folgenden Befehlen:

  1. \connect root@"Servername" und danach das Passwort eingeben
  2. util.dumpInstance("Zielpfad mit "/"", {showProgress: "true",threads:12, consistent:"false"})

Datenimport mit der MySQL Shell

Zuvor muss in der Datenbank die Variable "local_infile" aktiv sein. Sonst kann der Dump nicht eingelesen werden.

Um die Daten wieder zu importieren, müsst ihr diese Befehle nutzen:

  1. \connect root@"Servername" und danach das Passwort eingeben
  2. util.loadDump("Zielpfad mit "/"",,{progressFile :"Zielpfad mit "/""+backuplog.json",threads:12,backgroundThreads:12})

So wird die Daten unter dem Datenbanknamen eingespielt, wie Sie auch exportiert wurden.

Der "progressfile" Paramater legt eine Datei an, mit der das Dump den letzten Datensatz kennt, falls es abbricht. Somit wird an der Stelle wieder begonnen.

Es gibt noch den Parameter "schema" mit dem ein anderer Datenbankname angegeben werden kann.