MySQL 转储,使用正确的用户名和密码访问被拒绝 1045

MySQL 转储,使用正确的用户名和密码访问被拒绝 1045

我为我的 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

大概是这样解释的:

主机通配符与“localhost”不匹配

这与以下事实有关:对于 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')。

相关内容