Raketenskripter: gzip gepackte mysql-dumps einspielen wirft Fehler aus

Beitrag lesen

Es lag daran, dass im gz-dump das Statement USE Database blabla-name drin stand.

Ich weiß aber nicht, wo im Script ich das verhindere.

Gar nicht. Das Skript ist dafür gemacht, alle Datenbanken bis auf definierte Ausnahmen ( information_schema, mysql und in meinem Testcase auch OSM ) zu sichern. Dann muss aber USE Database blabla-name im Dump stehen.

Auf deutsch: Es ist eigentlich das falsche Skript für Deinen „use case“.

Aber Dir kann dennoch geholfen werden:

Wenn Du nur eine Datenbank sichern willst, dann besetzt Du die übrigen Optionen, lässt das -B $databases natürlich weg auch die Zeilen 46, 48, 70 musst Du löschen.

In Zeile 11 ist das --add-drop-database dann obsolet:

moreDumpOptions=' --add-drop-table --allow-keywords --extended-insert=TRUE'; 

Dann setzt Du noch:

$database="DEINE_EINE_DATENBANK";

Uns sicherst mit dem angepassten Befehl in Zeile 56 Deine eine Datenbank.

$mysqldump_bin --host="${host}" --port="${port}" --user="${user}" --password="${passwort}" $moreDumpOptions $database | gzip -c > "${outFile}" 2>> "${logFile}" ;


Und wie von Geister Hand ist weder `drop database` noch `create database` noch `use database` im Dump.