MariaDB-Backup mit CMD und Powershell unterschiedlich
Hallo Leute,
ich habe einen MariaDB-Datenbankserver im Einsatz und wir hatten nun den Fall das etwas mit der Datenbank nicht in Ordnung war und wir mussten die entsprechende DB zurücksichern.
Dabei fiel etwas auf, aus Gründen die ich erklärt bräuchte macht es einen Unterschied ob man die Sicherung via CMD oder PowerShell ausführt und ich kann mir beim besten Willen nicht erklären warum.
Führt man den Befehl:
als .cmd-Datei oder im CMD-Fenster aus, so wird die Sicherung 500MB groß.
Führe ich den den Befehl
in PowerShell, als .ps1-Datei oder in der ISE aus, so wird die Sicherung 1,05GB groß.
Alternativ habe ich auch folgendes versucht:
In PowerShell wie folgt:
Das Ergebnis ist gleich mit der Ausführung in PowerShell ohne CMD-Aufruf.
Es sind dieselben Parameter und beide Befehle sollten gleich verlaufen aber augenscheinlich tun sie es nicht.
Die CMD-Sicherung dauert dagegen nur 1 Minute, die PowerShell-Sicherung ca. 5 Minuten.
Kann mir bitte jemand erklären was genau den Unterschied ausmacht und warum dieser passiert?
ich habe einen MariaDB-Datenbankserver im Einsatz und wir hatten nun den Fall das etwas mit der Datenbank nicht in Ordnung war und wir mussten die entsprechende DB zurücksichern.
Dabei fiel etwas auf, aus Gründen die ich erklärt bräuchte macht es einen Unterschied ob man die Sicherung via CMD oder PowerShell ausführt und ich kann mir beim besten Willen nicht erklären warum.
Führt man den Befehl:
"C:\Program Files\MariaDB 10.8\bin\mariadb-dump.exe" --max_allowed_packet=512M --host=localhost --user=user --password=password --port=3306 --single-transaction --databases datenbank > "C:\SQL-Backup\230503_1514_datenbank.sql"
Führe ich den den Befehl
& "C:\Program Files\MariaDB 10.8\bin\mariadb-dump.exe" --max_allowed_packet=512M --host=localhost --user=user --password=password --port=3306 --single-transaction --databases datenbank > "C:\SQL-Backup\230503_1515_datenbank.sql"
in PowerShell, als .ps1-Datei oder in der ISE aus, so wird die Sicherung 1,05GB groß.
Alternativ habe ich auch folgendes versucht:
In PowerShell wie folgt:
& cmd /c "C:\Program Files\MariaDB 10.8\bin\mariadb-dump.exe" --max_allowed_packet=512M --host=localhost --user=user --password=password --port=3306 --single-transaction --databases datenbank > "C:\SQL-Backup\230503_1515_datenbank.sql"
Das Ergebnis ist gleich mit der Ausführung in PowerShell ohne CMD-Aufruf.
Es sind dieselben Parameter und beide Befehle sollten gleich verlaufen aber augenscheinlich tun sie es nicht.
Die CMD-Sicherung dauert dagegen nur 1 Minute, die PowerShell-Sicherung ca. 5 Minuten.
Kann mir bitte jemand erklären was genau den Unterschied ausmacht und warum dieser passiert?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7001194003
Url: https://administrator.de/forum/mariadb-backup-mit-cmd-und-powershell-unterschiedlich-7001194003.html
Ausgedruckt am: 21.04.2025 um 04:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
die Antworten hier waren nicht zufriedenstellend?
Das nächste Mal wäre es schön, wenn du das direkt verlinkst, dann weiß man, was andere bereits für Vorleistung erbracht haben
Gruß
die Antworten hier waren nicht zufriedenstellend?
Das nächste Mal wäre es schön, wenn du das direkt verlinkst, dann weiß man, was andere bereits für Vorleistung erbracht haben
Gruß
Zitat von @B345TY:
& "C:\Program Files\MariaDB 10.8\bin\mariadb-dump.exe" --max_allowed_packet=512M --host=localhost --user=user --password=password --port=3306 --single-transaction --databases datenbank > "C:\SQL-Backup\230503_1515_datenbank.sql"
Versuche mal folgendes:
$ProcessOptions = @{
FilePath = 'C:\Program Files\MariaDB 10.8\bin\mariadb-dump.exe'
WorkingDirectory = 'C:\Program Files\MariaDB 10.8\bin\ '
NoNewWindow = $true
Wait = $true
ArgumentList = '--max_allowed_packet=512M --host=localhost --user=user --password=password --port=3306 --single-transaction --databases datenbank > "C:\SQL-Backup\230503_1515_datenbank.sql"'
}
Start-Process @ProcessOptions
sieht sauberer aus, sollte keine Probleme bei irgendwelchen automatischen Umwandungen / Interpretationen machen und wenn man dann noch $LastExitCode auswertet wird es ein sauberes Skript.
Zitat von @michi1983:
Das nächste Mal wäre es schön, wenn du das direkt verlinkst, dann weiß man, was andere bereits für Vorleistung erbracht haben
Das nächste Mal wäre es schön, wenn du das direkt verlinkst, dann weiß man, was andere bereits für Vorleistung erbracht haben
Guten Morgen
Genau das würde ich aber auch nicht tun. Offensichtlich war es nicht zufriedenstellend, sonst würde er nicht nochmals fragen und wenn man auf etwas hinweist, dann gehen die Gedanken bereits automatisch in eine Richtung. Er will aber eine andere Sichtweise.
Ich kann's verstehen.