OBS/Admihilfe/MySQLShell: Unterschied zwischen den Versionen
Zeile 29: | Zeile 29: | ||
Wenn die gesamte Datenbankinstallation gesichert werden soll, geht das mit | Wenn die gesamte Datenbankinstallation gesichert werden soll, geht das mit dem Befehl '''util.dumpInstance'''. | ||
Beispiel: | |||
util.dumpInstance("Zielpfad mit "/"", {showProgress: "true",threads:12, consistent:"false"}) | |||
Falls der Name des Dumps beim Import geändert werden soll, muss das Dump mit '''util.dumpTables''' statt mit '''util.dumpSchemas''' erzeugt werden. Hierbei werden die Tabellen einzeln gedumpt. Mit dem Parameter ''all'' kann man alle Tabellen eines Schemas dumpen. | |||
Beispiel: | |||
util.dumpTables("obs_mysql", [], "c:/Backup/DBDumpTables", { "all": true }) | |||
=== Datenimport mit der MySQL Shell === | === Datenimport mit der MySQL Shell === |
Version vom 1. November 2023, 15:22 Uhr
<accesscontrol>Programmierer</accesscontrol>
- System Überwachung
- DEP deaktivieren
- Darstellung unter Windows 7
- Einwahl auf Windows 2000 Server
- Preislisten
- Datenbank Sicherung
- Customize
- Zentrale
- MySQL Korrekturen
- Support Macro
- Service Debug
- Historienprotokoll (Datenänderung OBS)
- Fernwartungsprobleme
- Startparameter
- Fehler beim Kassenabschluss
- Diverse Informationen
- A ras.pbk
- B Command Line Interpreter
- C File Zilla Benutzer XML erzeugen
- D1 OBS_UPDATE.EXE zum OBS Update Server hochladen
- D2 SUPPORT_MACRO zum OBS Update Server hochladen
- H1 Remote Service Protokoll-Übersicht (Alles)
- H Remote ServiceProtokoll-Übersicht
- I Remote Service Commands
- I1 (Admin) Globaler Hinweis für Updates
- J Liste der OBS Updates
- K Angemeldete Service Firmen
- L Systeminformationen einlesen
- M Kundendaten anzeigen
- M1 Kundendatenbankinformationen anzeigen
- N Kundendaten einlesen
- O Kunden-Update Informationen anzeigen
- P Modul Registrierung OBS
- Q App Verwaltung
- S1 Firmen Statistik Protokolle OBS
- S2 Statistik Notfallkassen
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.
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:
- \connect root@"Servername" und danach das Passwort eingeben
- 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 dem Befehl util.dumpInstance.
Beispiel:
util.dumpInstance("Zielpfad mit "/"", {showProgress: "true",threads:12, consistent:"false"})
Falls der Name des Dumps beim Import geändert werden soll, muss das Dump mit util.dumpTables statt mit util.dumpSchemas erzeugt werden. Hierbei werden die Tabellen einzeln gedumpt. Mit dem Parameter all kann man alle Tabellen eines Schemas dumpen. Beispiel:
util.dumpTables("obs_mysql", [], "c:/Backup/DBDumpTables", { "all": true })
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:
- \connect root@"Servername" und danach das Passwort eingeben
- 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.