Hallo Willi,
Wenn nicht liegt der Fehler außerhalb des Gezeigten. Entpacke mal die /my/pfad/myDB.sql.gz „manuell“ und lese darin nach, was da für Befehle drin stehen. Aber eigentlich sollte der mysql- oder mariadb-Client dann Fehlermeldungen anzeigen.
Nach gefühlt tausend Tests habe ich nun einen Parameter beim Erstellen der Backupdaten ausgemacht, der den erfolgreichen Import mit dem von mir gezeigten Code stört. (Das erklärt freilich nihct, warum Dein Import-Code bei mir nicht funktioniert, aber ich komme zumindest weiter).
$mysqldump_bin --host="${host}" --port="${port}" --user="${user}" --password="${passwort}" $moreDumpOptions -B $database | gzip -c > "${outFile}" 2>> "${logFile}" ;
In dieser Zeile stört der Parameter -B
.
Mit dem Parameter funktioniert mein Import
system('/bin/gunzip -c ' .$wp_path. ' | /usr/bin/mysql -u' .$db_user. ' -p' .escapeshellarg($db_pass). ' -h' .$db_host. ' ' .$db_name. ' ', $fp);
nicht.
Wenn ich den Parameter -B hingegen weglasse, dann funktioniert der Import der so erstellten Datei mit obiger Zeile.
Der Unterschied im Dump ist, dass eine Zeile USE myDb;
hinzugefügt wird.
Das scheint den Import (zumindest mit meinem Code) zuverlässig zu verhindern.
Woran liegt das?
Gruß, Jörg