Как указано в man mysqldump
: см. 6.1.2.1.Руководство для конечного пользователя по безопасности паролей в справочном руководстве MySQL.
Файл опций является самой безопасной ставкой, не в последнюю очередь в соответствии с приведенной выше ссылкой. Предоставлять его в виде открытого текста в crontab нехорошо, не в последнюю очередь, поскольку командная строка процесса по умолчанию видна через ps
для других пользователей. То же самое на самом деле относится к переменным среды, как описано в ссылке.
Соответствующая часть справочного руководства по MySQL:
Сохраните ваш пароль в файле опций. Например, в Unix вы можете указать свой пароль в разделе [client]
файла .my.cnf
в вашем домашнем каталоге:
[client]
password=your_pass
Чтобы сохранить пароль в безопасности, файл не должен быть доступен никому, кроме вас самих. Чтобы обеспечить это, установите режим доступа к файлу на 400
или 600
. Например:
shell> chmod 600 .my.cnf
Чтобы присвоить в командной строке конкретный файл параметров, содержащий пароль, используйте параметр --defaults-file=file_name
, где file_name
- это полный путь к файлу. Например:
shell> mysql --defaults-file=/home/francis/mysql-opts
Раздел 4.2.3.3, «Использование файлов опций» , обсуждает файлы опций более подробно.
Также см. Https://stackoverflow.com/q/10725209.