Указание отдельного файла конфигурации в командной строке mysqldump

Мой главный пользовательский файл MySQL/home//my.cnf выглядит так (система Linux):

[client]
host=localhost
user=<user>
password=********
database=h2o_amr

Я хочу указать mysqldump на этот файл конфигурации, который находится в каталоге, где будет записываться файл mysqldump:

[client]
host=localhost
user=<user>
password=********

Как указать mysqldump в этот файл конфигурации? Я искал ответ на это на страницах руководства и в Интернете, прежде чем публиковать этот вопрос.

Ответ 1

Существует три варианта изменения поведения по умолчанию:

  • --no-defaults: не читать параметры по умолчанию из любого файла параметров.
  • --defaults-file=#: читать только параметры по умолчанию из данного файла #.
  • --defaults-extra-file=#: прочитайте этот файл после чтения глобальных файлов.

Эта информация была скопирована из встроенного руководства, т.е.
mysqldump --help | grep -A7 'Default options'.

Примечание. Параметр должен находиться в первой позиции, если вы добавляете другие параметры, если он не будет распознан.

Ответ 2

В соответствии с документацией существует опция --defaults-file=PATH, которая делает именно то, что вам нужно. Я попробовал сам с mysqldump и, похоже, работал.

Есть также другие способы иметь файлы параметров чтения MySQL без использования этого аргумента: используя пути по умолчанию, которые клиенты MySQL выполняют поиск, чтобы скомпилировать список параметров (1st и вторая таблица).