Dormestmass: Админ — это состояние души

mysqldump: скрываем параметры

До сегодняшнего дня резервные копии баз MySQL я делал при помощи примитивного скрипта, в котором настройки подключения к серверу были жестко забиты в качестве параметров mysqldump.

К сожалению, это не самый безопасный путь резервирования, так как любой другой пользователь, просмотрев список процессов, легко сможет увидеть рутовый пароль. Чем это чревато, думаю, объяснять не нужно.

Сегодня на одном из форумов наткнулся на более безопасный вариант — использование опции --defaults-extra-file, которая позволяет вынести параметры, в том числе и пароль, во внешний файлик. Таким образом можно легко обезопаситься от подглядывания.

Формат файла следующий:

host:~ # cat client.cnf
[client]
host     = localhost
user     = root
password = xxxxxxxxxxx
socket   = /path/to/mysqld/mysqld.sock

Единственный ньюанс при использовании опции --default-extra-file — она должна использоватся в качестве первого аргумента команды:

To work properly, each of these options must immediately follow the command name, with the exception that --print-defaults may be used immediately after --defaults-file or --defaults-extra-file. Also, when specifying file names, you should avoid the use of the “~” shell metacharacter because it might not be interpreted as you expect.

В противном случае возникает малоинформативная ошибка, попытка решить которую, собственно, и сподвигла написать меня этот пост:

host:~ # mysqldump  -uroot --defaults-extra-file=client.cnf mydatabase
mysqldump: unknown variable 'defaults-extra-file=client.cnf'

Популярность: нет значения

Похожие заметки

Нет похожих заметок.

P.S.

Для вас тюнеры для спутникового телевидения украина
газовые плиты, стиральные машины Bosch в Одессе.
  • В debian'е по-умолчанию создаётся файл с настройками /etc/mysql/debian.cfg

  • А еще есть переменная окружения MYSQL_PWD, иногда удобней с ней.

Вы можете следить за обсуждением с помощью RSS 2.0 ленты.