2010-10-01 9 views
38

je lance la commande suivante à partir de la ligne de commande Windows pour sauvegarder ma base de données:problème avec mysqldump: « defaults-extra-file » option ne fonctionne pas comme prévu

...\right_path\mysqldump --add-drop-database --databases my_database_name 
         --defaults-extra-file=d:\1.cnf 

d:\1.cnf contient les éléments suivants:

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

Malheureusement, je reçu le message d'erreur suivant:

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

Si Je fais:

...\right_path\mysqldump --add-drop-database --databases my_database_name 
         --user="my_user" --password="my_password" 

cela fonctionne comme prévu.

Qu'est-ce que je fais mal?

Répondre

72

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:\1.cnf 
         --add-drop-database --databases my_database_name 
+0

En outre: la séquence est également critique lorsque vous passez le paramètre "--defaults-file" normal par ex. mysqld – domi27

+4

Sur certains systèmes, mysql et mysqldump sont configurés comme des alias tels que 'alias mysql = 'mysql --skip-secure-auth'. Donc, si vous définissez --defaults-extra-file en premier et que cela ne fonctionne toujours pas, vérifiez qu'aucun tel alias n'est en place, en utilisant par exemple. 'quel mysql'. –

1

Je réalise que c'est spécifique à Linux, mais mes recherches m'ont amené ici.

J'utilise la pile LAMP de bitnami, et 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 "[email protected]" in 
    *--no-defaults*) 
    exec $0.bin "[email protected]" 
    exit 
esac 
exec $0.bin --defaults-file=/opt/lampstack-5.5.3-0/mysql/my.cnf "[email protected]" 

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

+0

Y a-t-il une solution de contournement pour la pile LAMP? –

+0

@LeifSegen il suffit d'appeler la version .bin directement. –

Questions connexes