Назад | Перейти на главную страницу

MySQL Backup Cron Job

У меня есть задание cron, которое создает резервную копию моей базы данных MySQL, экспортируя ее. Сценарий включает пароль root для выполнения работы.

Я получаю сообщение:

Using a password on the command line interface can be insecure

что, конечно, правильно.

Исходный сценарий:

mysqldump \
    --single-transaction \
    [more options]
    --user=root \
    --password= … \
> /data/mysql/mysql.sql

Я знаю, что следующее должно работать, если у меня есть это в ~/.my.cnf:

[client]
user = root
password = …

и опустите имя пользователя и пароль в скрипте. Однако я получаю следующее сообщение об ошибке:

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost'
(using password: NO) when trying to connect

что говорит мне, что это не работает.

Очевидно, я что-то делаю не так. Какие-либо предложения?

Спасибо

Итак, единственное, что нужно знать о cron, - это то, что он похож на env-less. Так что он может не знать о /root/.my.cnf

Вы можете попробовать следующий флаг, чтобы указать полный путь к конфигурации, в которой хранится пользователь / проход

 --defaults-file=/root/.my.cnf