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 

这告诉我它不工作。

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

谢谢

所以关于cron的一件事就是像env-less一样。 所以它可能不知道/root/.my.cnf

您可能想尝试以下标志来指向存储用户/密码的configuration的完整path

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