mysqldump错误1045尽管密码正确,但拒绝访问

问题描述 投票:46回答:20

这是一个棘手的问题,我有以下输出:

mysqldump:收到错误:1045:尝试连接时用户'root'@'localhost'(使用密码:YES)拒绝访问

尝试在Windows XP上使用mysqldump导出数据库时。用户名为root,密码正确且仅包含字母数字字符。我尝试了不同的情况,有/没有引号,使用-u-p指定,指定使用--user=--password=以及指定用户/密码等的其他方法,指定主机(它是全局的)甚至使用--databases指定数据库而不仅仅是空白。使用密码时错误始终相同,除非“否”,否则始终相同。我已尝试通过搜索找到许多修复但没有成功。一个修复建议检查mysql.conf,但Windows构建似乎没有。凭证(实际上是命令行参数)与mysql.exe完美配合 - 这个问题似乎只影响mysqldump.exe。

mysql localhost access-denied mysql-error-1045 windows-xp-sp3
20个回答
50
投票

这对我有用

mysqldump -u root -p mydbscheme > mydbscheme_dump.sql

发出命令后,它要求输入密码:

Enter password:

输入密码将生成转储文件。


5
投票

在没有C:\Program Files (x86)\MySQL\MySQL Server 5.5\binMySQLWorkbench的情况下为我工作(当我以root身份登录时):

Program Files (x86)

1
投票

mysqldump -u(user)-p(passwd)-h(host_or_IP)database_to_backup> backup_file.sql

例:

mysqldump -u god -pheaven -h 10.0.10.10 accounting> accounting_20141209.sql

这将为服务器10.0.10.10上的记帐数据库创建sql备份文件。有时当localhost不在配置中时会看到您的错误。指定服务器的IP可能会有所帮助。


0
投票

我刚刚安装完MySQL 5.6.16后遇到了这个问题。

奇怪的是,它没有指定或标记的密码:

Program Files


0
投票

在我从MS Word文件复制mysqldump语句后,我发生了同样的问题。

但直接输入语句时,一切正常。

在十六进制编辑器中,不工作语句的“ - ”由unicode char e2 80 93(-u)表示

在sort中,直接键入密码并检查复制粘贴代码,因为单代码(或其他编码)字符串可能会导致问题。


0
投票

我必须删除密码标志后的单个刻度:

-p

并不是

mysqldump --opt mydbname > mydbname.sql

0
投票

过去2天我有同样的错误。试了一堆东西。没有任何效果。 但这确实有效: 创建另一个用户。给予一切。 mysqldump -u root myschema mytable > dump.sql //没有错误


0
投票

我发现正在运行的apache进程访问MYSQL导致此错误。所以我建议确保所有可能与DB交互的进程事先关闭。


0
投票

当mysql帐户启用http://www.fileformat.info/info/unicode/char/2013/index.htm时,Mysql使用正确的凭据回复Access Denied

必须在连接参数中提供qazxsw poi文件(至少)。

可能需要额外的ssl参数,并在此处记录:--password=mypassword


还发布在这里--password='mypassword'


0
投票

我遇到了一个问题,即有一个坏的“DEFINER”,这是定义视图的用户。视图中使用的DEFINER在前一段时间被删除为“来自某个随机工作站的根”。

运行时检查是否存在问题:

mysqldump -u new_user db_name > db_name.sql

我修改了DEFINER(实际上,将DEFINER设置为REQUIRE SSL,将SQL SECURITY值设置为ssl_ca,以便使用http://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html以调用用户的权限而不是定义用户执行视图,这实际上更有意义)。

这很棘手,因为你必须从https://stackoverflow.com/a/39626932/1695680构造适当的USE information_schema; SELECT DEFINER, SECURITY_TYPE FROM views; 语句,所以检查:

  • root@localhost
  • INVOKER

0
投票

对于MAMP PRO用户(或任何mysql位于奇怪位置的人)准备指定来自boonies的mysql完整路径,并指定要转储文件的用户本地文件夹的完整路径,否则您将获得“权限被拒绝错误“..

经过3个小时的研究,以下为我工作:

ALTER VIEW

25
投票

如果您能够使用mysql连接到数据库,但是mysqldump会出错,那么问题可能是您没有锁定表的权限。

在这种情况下尝试使用--single-transaction选项。

mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction  > /home/mylinuxuser/mydatabase.sql

-2
投票

转到开始 - >所有程序 - >附件右键单击命令提示符单击以管理员身份运行

在使用CD命令的命令提示符中转到MySQL bin文件夹并运行以下命令

mysqldump --user root --password = root --all-databases> dumps.sql

它将在bin文件夹本身中创建dumps.sql文件。


18
投票

被拒绝的访问可能是Windows文件系统而不是MySQL数据库;尝试将输出文件重定向到允许您的帐户创建文件的位置。


10
投票

使用-p-option时尝试删除空格。这适用于我的OSX和Linux mysqldump:

mysqldump -u user -ppassword ...

7
投票

GRANT特权:

GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';

6
投票

请勿使用命令输入密码。刚进入,

mysqldump -u(用户名)-p(db_name)>(backup_file).sql

然后您将收到输入密码的提示。


6
投票

您需要在密码中加入包含shell元字符的反斜杠,例如!#'“`&;


6
投票

当我在qazxsw poi模式下运行命令提示符时,访问被拒绝问题已解决。

转到qazxsw poi右键单击qazxsw poi点击qazxsw poi选择Administrator选择Start-> All Programs -> Accessories从选项输入密码,如果有任何点击Command Prompt按钮。

示例1:使用命令提示符在mysql中进行整个数据库备份。

在Windows 7和8中

Run as..

在Windows XP中

The Following User

它要求输入密码的密码,然后单击Enter按钮。

示例2:使用命令提示符在mysql中进行特定的表备份/转储。

在Windows 7和8中

administrator username

在Windows XP中

OK

转储文件将在文件夹下创建

在Windows XP中

C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********

在Windows 7和8中

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql Enter Password: *********

注意:在命令提示符下运行时,检查Windows 7,8中的MySQL安装文件夹。如果C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql Enter Password: ********* 是32位版本,它安装在C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql Enter Password: ********* 文件夹其他明智的C:\Program Files\MySQL\MySQL Server 5.5\bin 文件夹中。


5
投票

mysqldump -h hostname -u username -P port -B database --no-create-info -p> output.sql

我认为你应该指定args

© www.soinside.com 2019 - 2024. All rights reserved.