MySQL 备份 Cron 作业

MySQL 备份 Cron 作业

我有一个 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

这告诉我它不起作用。

显然我做错了。有什么建议吗?

谢谢

答案1

因此,关于 cron 有一件事需要知道,那就是它就像没有环境变量一样。因此它可能不知道 /root/.my.cnf

您可能需要尝试以下标志来指向存储用户/密码的配置的完整路径

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

相关内容