【问题标题】:mysqldump: Got error: 1045: "Access denied for user 'root'@'localhost' (using password: NO)" when trying to connectmysqldump:出现错误:1045:尝试连接时“用户'root'@'localhost'的访问被拒绝(使用密码:否)”
【发布时间】: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/backupsbackup.sh的权限级别由backup.timerbackup.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

【问题讨论】:

标签: mysql systemd


【解决方案1】:

我刚刚在我的主目录中创建了一个新文件夹,并使用我的mysqldump 命令传递了defaults-extra-file,它成功了。

这修复了它 - https://serverfault.com/questions/671759/cronjob-executing-mysql-and-get-root-access-denied

【讨论】:

    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 2013-07-27
    • 2013-11-28
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 2014-03-23
    相关资源
    最近更新 更多