Nach Update von 3.9.3 auf 4.0 scheint alles soweit zu funktionieren, bis auf die Sicherung der MySQL-Datenbank.
Bei Auswahl von „MySQL Dump (php)“ unter „Exportmethode“ erscheint die Fehlermeldung „Fehler : Ungültiger Wert ‚mysqlnobin‘ für Paramter ‚Basetype‘“.
Bei Verwendung der Exportmethode „MySQL Dump (mysqldump)“ erscheint die Fehlermeldung „Fehler : sh: /Applications/MAMP/Library/bin/mysqldump: No such file or directory“. Habe versucht, eine andere vorhandene mysqldump Engine anzugeben ("/Applications/MySQLWorkbench.app/Contents/MacOS/mysqldump "), aber ohne Erfolg (das ging auch schon in den 3.9er Versionen nicht).
Wo stellt man den Pfad zur mysql Engine ein?
Viele Grüße und schon mal tausend Dank!
virtilia
Poste bitte den Output von:
find / -name mysqldump
Beste Grüße
Ich habe auf dem Mac mehrere Instanzen von mysqldump (als Teil verschiedener Programminstallationen):
/Applications/MAMP/Library/bin/mysqldump
/Applications/MySQLWorkbench.app/Contents/MacOS/mysqldump
/usr/local/mysql-6.0.10-alpha-osx10.5-x86_64/bin/mysqldump
Beste Grüße
virtilia
Der Pfad wird ja im SETUP von Dolibarr eingestellt (Full path to mysqldump command).
Kann m.E. jetzt nur noch an den Benutzerrechten liegen.
Mysqldump sollte auch zumindest durch die MacOS-Gruppe aufgerufen werden können, in der auch der Dolibarr-User in MacOS angelegt ist.
Beste Grüße
Ich denke, es muss eine andere Ursache haben. Die Zugriffsrechte sind:
-rwxrwxr-x+ 1 bfl admin 6,0M 10 Jul 2012 mysqldump
Somit kann auch der Dolibarr-User den dump aufrufen.
Beste Grüße,
virtilia
Kann die Einstellung des Pfades beim besten Willen nicht finden (Full path to mysqldump command).
„/Applications/MAMP/Library/bin/mysqldump“ lässt sich im DB-Sicherungsdialog zwar verändern, erscheint aber immer wieder automatisch.
Der Pfad wird wohl in mysqli.class.php erzeugt (ab Zeile 940):
function getPathOfDump()
{
$fullpathofdump=’/pathtomysqldump/mysqldump’;
$resql=$this->query(‚SHOW VARIABLES LIKE ‚basedir‘‘);
if ($resql)
{
$liste=$this->fetch_array($resql);
$basedir=$liste[‚Value‘];
$fullpathofdump=$basedir.(preg_match(’//$/’,$basedir)?’’:’/’).‚bin/mysqldump‘;
}
return $fullpathofdump;
}
, scheint aber keine flexible Pfadangabe zu erlauben.
Bin leider (oder zum Glück?) noch nicht auf 4.0 - es sollte dort aber zumindest ähnlich aussehen:
Die zitierte Funktion ist identisch mit Dolibarr 3.9.3GA - daran liegt es also wahrscheinlich nicht.
Sind denn die MAMP Pfade auch in der MacOS Path Variable?
Beste Grüße
Ja, der MAMP-Pfad ist in der $PATH:
MacOS bfl$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Applications/MAMP/Library/bin
Leider kein Erfolg…
Ich kann den Fehler auch bei mir reproduzieren durch willkürliche Änderung des Default Pfades zu mysqldump.
Es sollte also etwas mit dem Pfad zu tun haben.
Habe leider ansonsten keine weitere Idee.
Bitte den Fehler auf Github posten:
https://github.com/Dolibarr/dolibarr
Beste Grüße
1 „Gefällt mir“
Mache ich. Danke für die Hilfe!
Beste Grüße,
virtilia
Nach update von Dolibarr 4.0.0 auf 4.0.1 funktioniert MySQL Dump (php) wieder.
Für den Dump mit Hilfe von MySQL Dump (mysqldump) muss sich das Programm „mysqldump“ auf dem Server befinden. In meinem Fall funktioniert es auf einem Strato Managed Server mit dem Pfad „/bin/mysqldump“.