Problème avec mysqldump: l'option" --defaults-extra-file " ne fonctionne pas comme prévu

j'exécute la commande suivante depuis la ligne de commande Windows pour sauvegarder ma base de données:

...right_pathmysqldump --add-drop-database --databases my_database_name
                         --defaults-extra-file=d:.cnf

d:.cnf contient ce qui suit:

[client]
user="my_user"
password="my_password"

malheureusement, j'ai reçu le message d'erreur suivant:

mysqldump: unknown variable 'defaults-extra-file=d:.cnf'

Si je fais:

...right_pathmysqldump --add-drop-database --databases my_database_name
                         --user="my_user" --password="my_password"

ça marche comme prévu.

Qu'est-ce que je fais de mal ?

40
demandé sur Misha Moroshko 2010-10-01 06:41:53

3 réponses

j'ai trouvé la réponse: --defaults-extra-file doit être la première option. Cela fonctionne comme prévu:

...\right_path\mysqldump --defaults-extra-file=d:.cnf
                         --add-drop-database --databases my_database_name
79
répondu Misha Moroshko 2010-10-01 04:06:03

je me rends compte que C'est spécifique à Linux, mais mes recherches m'ont amené ici.

j'utilise la pile de lampes de bitnami, et j'ai découvert que leur "mysqldump" est en fait un script:

LD_LIBRARY_PATH=/opt/lampstack-5.5.3-0/mysql/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
case "$@" in
  *--no-defaults*)
    exec .bin "$@"
    exit
esac
exec .bin --defaults-file=/opt/lampstack-5.5.3-0/mysql/my.cnf "$@"

qui ne semble pas permettre --defaults-file pour être transmise... et le travail (selon la réponse acceptée ici).

1
répondu Peter K. 2013-11-06 18:19:33

rencontrez aussi ce problème. J'ai trouvé qu'il y a une autre situation qui causerait --defaults-extra-file option non reconnue.

quand vous avez changé de si dans script, il est possible d'activer ce problème. La solution est de réinitialiser L'IFS avant d'exécuter la déclaration mysql.

Pour référence.

0
répondu cynkiller 2018-09-18 07:05:39