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