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 в Одессе.
Roman Shramko
20 Сен, 2010
В debian'е по-умолчанию создаётся файл с настройками /etc/mysql/debian.cfg
30 Сен, 2010
А еще есть переменная окружения MYSQL_PWD, иногда удобней с ней.