我为我的 MySQL 数据库创建了一个名为“backup”的用户,并为其指定了一个特定的密码。
我现在尝试执行这个命令:
sudo mysqldump --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
导致这些错误:
mysqldump: Got error: 1045: Access denied for user 'backup'@'localhost' (using password: YES) when trying to connect
我尝试过使用 root mysql 用户,并且没有使用 sudo,但出现了相同的错误
MySQL 版本:Ubuntu 17.10 上的 mysql Ver 14.14 Distrib 5.7.22
答案1
大概是这样解释的:
这与以下事实有关:对于 mysql,连接到localhost
实际上意味着连接到 UNIX 套接字(可能/var/run/mysqld/mysqld.sock
),而连接到127.0.0.1
意味着连接(使用 IPv4)到localhost
。所以他们选择区分他们的访问权限。
要检查情况是否如此,请重试:
sudo mysqldump -h 127.0.0.1 --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
然后更正访问权限(例如'backup'@'localhost'
)。