Как указано в 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 .