问题
I run the following command from the Windows command line to backup my database:
...\right_path\mysqldump --add-drop-database --databases my_database_name
--defaults-extra-file=d:\1.cnf
where d:\1.cnf
contains the following:
[client]
user="my_user"
password="my_password"
Unfortunately, I got the following error message:
mysqldump: unknown variable 'defaults-extra-file=d:\1.cnf'
If I do:
...\right_path\mysqldump --add-drop-database --databases my_database_name
--user="my_user" --password="my_password"
it works as expected.
What am I doing wrong ?
回答1:
I found the answer: --defaults-extra-file
must be the first option. This works as expected:
...\right_path\mysqldump --defaults-extra-file=d:\1.cnf
--add-drop-database --databases my_database_name
回答2:
I realize this is Linux-specific, but my searches brought me here.
I'm using bitnami's LAMP stack, and found out that their "mysqldump" is actually a script:
LD_LIBRARY_PATH=/opt/lampstack-5.5.3-0/mysql/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
case "$@" in
*--no-defaults*)
exec $0.bin "$@"
exit
esac
exec $0.bin --defaults-file=/opt/lampstack-5.5.3-0/mysql/my.cnf "$@"
which doesn't appear to allow --defaults-file
to be passed in... and work (as per the accepted answer here).
回答3:
Also meet this problem. Found there's another situation that would cause --defaults-extra-file
option not recognized.
When you changed IFS in script, it's possible to hit this problem. The solution is to reset IFS before execute mysql statement.
For reference.
来源:https://stackoverflow.com/questions/3836214/problem-with-mysqldump-defaults-extra-file-option-is-not-working-as-expecte