b345ty
Goto Top

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:

"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"  
als .cmd-Datei oder im CMD-Fenster aus, so wird die Sicherung 500MB groß.

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?

Content-Key: 7001194003

Url: https://administrator.de/contentid/7001194003

Printed on: May 9, 2024 at 02:05 o'clock

Member: michi1983
michi1983 May 03, 2023 updated at 14:23:48 (UTC)
Goto Top
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 face-wink

Gruß
Member: Kraemer
Kraemer May 03, 2023 at 14:35:14 (UTC)
Goto Top
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.
Member: Franz-Josef-II
Franz-Josef-II May 04, 2023 at 05:57:12 (UTC)
Goto Top
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 face-wink


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.