Проблема с mysqldump: опция --defaults-extra-file не работает должным образом - PullRequest
48 голосов
/ 01 октября 2010

Я запускаю следующую команду из командной строки 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"

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

Что я делаю не так?

Ответы [ 3 ]

91 голосов
/ 01 октября 2010

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

...\right_path\mysqldump --defaults-extra-file=d:\1.cnf
                         --add-drop-database --databases my_database_name
1 голос
/ 06 ноября 2013

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

Я использую стек LAMP битнами и обнаружил, что их "mysqldump" на самом деле скрипт:*

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

0 голосов
/ 18 сентября 2018

Также встречайте эту проблему.Обнаружено, что существует другая ситуация, которая может привести к тому, что опция --defaults-extra-file не будет распознана.

Когда вы изменили IFS в скрипте, можно решить эту проблему.Решение состоит в том, чтобы сбросить IFS перед выполнением оператора mysql.

Для справки.

...