【发布时间】:2020-11-11 09:59:18
【问题描述】:
我正在尝试使用以下命令执行 mysqldump:mysqldump -u root -A -R -E --triggers --single-transaction > /home/backups/full_backup_${TODAY}.sql
此命令运行正常,当我以 root 用户身份登录并运行时没有错误。但是,在使用 systemd/timers 将其作为日常作业运行时,此命令会引发错误 -
mysqldump: 出现错误: 1045: "Access denied for user 'root'@'localhost' (using password: NO)" 尝试连接时
这是我的配置详情 -
我已将我的凭据保存在 ~/.my.cnf 中:
[client]
password = "mypassword"
[mysqldump]
user = root
host = localhost
/etc/systemd/system/backup.service 和 /etc/systemd/system/backup.timer 的权限级别
-rwxrwxrwx 1 root root 90 Nov 5 17:34 backup.service*
-rwxrwxrwx 1 root root 132 Nov 11 10:15 backup.timer*
~/.my.cnf的权限级别
-rw------- 1 root root 76 Nov 5 15:57 .my.cnf
/home/backups和backup.sh的权限级别由backup.timer和backup.service执行
-rw------- 1 root root 1872 Nov 11 10:11 backup.sh
drw------- 2 iftvdev users 4096 Nov 11 10:27 backups/
我的backup.timer 文件-
[Unit]
Description=backup
[Timer]
OnCalendar=*-*-* 10:17:00
Persistent=true
Unit=backup.service
[Install]
WantedBy=timers.target
和backup.service 文件-
[Unit]
Description=backup job
[Service]
Type=oneshot
ExecStart=/bin/bash /home/backup.sh
【问题讨论】:
-
这可能对你有帮助:serverfault.com/questions/671759/…