Подтвердить что ты не робот

Проблема с mysqldump: опция "defaults-extra-file" работает не так, как ожидалось

Я запускаю следующую команду из командной строки Windows для резервного копирования моей базы данных:

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

где d:\1.cnf содержит следующее:

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

К сожалению, у меня появилось следующее сообщение об ошибке:

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

Если я это сделаю:

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

работает как ожидалось.

Что я делаю неправильно?

4b9b3361

Ответ 1

Я нашел ответ: --defaults-extra-file должен быть первым. Это работает как ожидалось:

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

Ответ 2

Я понимаю, что это зависит от Linux, но мои поиски привели меня сюда.

Я использую bitnami LAMP stack и выяснил, что их "mysqldump" на самом деле является 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]"

который, по-видимому, не позволяет передавать --defaults-file в... и работать (в соответствии с принятым ответом здесь).