Указание отдельного файла конфигурации в командной строке 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 и вторая таблица).