这是一个棘手的问题,我有以下输出:
mysqldump:收到错误:1045:尝试连接时用户'root'@'localhost'(使用密码:YES)拒绝访问
尝试在Windows XP上使用mysqldump
导出数据库时。用户名为root,密码正确且仅包含字母数字字符。我尝试了不同的情况,有/没有引号,使用-u
和-p
指定,指定使用--user=
和--password=
以及指定用户/密码等的其他方法,指定主机(它是全局的)甚至使用--databases
指定数据库而不仅仅是空白。使用密码时错误始终相同,除非“否”,否则始终相同。我已尝试通过搜索找到许多修复但没有成功。一个修复建议检查mysql.conf,但Windows构建似乎没有。凭证(实际上是命令行参数)与mysql.exe完美配合 - 这个问题似乎只影响mysqldump.exe。
这对我有用
mysqldump -u root -p mydbscheme > mydbscheme_dump.sql
发出命令后,它要求输入密码:
Enter password:
输入密码将生成转储文件。
在没有C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
和MySQLWorkbench
的情况下为我工作(当我以root身份登录时):
Program Files (x86)
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可能会有所帮助。
我刚刚安装完MySQL 5.6.16后遇到了这个问题。
奇怪的是,它没有指定或标记的密码:
Program Files
在我从MS Word文件复制mysqldump语句后,我发生了同样的问题。
但直接输入语句时,一切正常。
在十六进制编辑器中,不工作语句的“ - ”由unicode char e2 80 93(-u
)表示
在sort中,直接键入密码并检查复制粘贴代码,因为单代码(或其他编码)字符串可能会导致问题。
我必须删除密码标志后的单个刻度:
-p
并不是
mysqldump --opt mydbname > mydbname.sql
过去2天我有同样的错误。试了一堆东西。没有任何效果。
但这确实有效:
创建另一个用户。给予一切。
mysqldump -u root myschema mytable > dump.sql
//没有错误
我发现正在运行的apache进程访问MYSQL导致此错误。所以我建议确保所有可能与DB交互的进程事先关闭。
当mysql帐户启用http://www.fileformat.info/info/unicode/char/2013/index.htm时,Mysql使用正确的凭据回复Access Denied
必须在连接参数中提供qazxsw poi文件(至少)。
可能需要额外的ssl参数,并在此处记录:--password=mypassword
还发布在这里--password='mypassword'
我遇到了一个问题,即有一个坏的“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
对于MAMP PRO用户(或任何mysql位于奇怪位置的人)准备指定来自boonies的mysql完整路径,并指定要转储文件的用户本地文件夹的完整路径,否则您将获得“权限被拒绝错误“..
经过3个小时的研究,以下为我工作:
ALTER VIEW
如果您能够使用mysql连接到数据库,但是mysqldump会出错,那么问题可能是您没有锁定表的权限。
在这种情况下尝试使用--single-transaction选项。
mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction > /home/mylinuxuser/mydatabase.sql
转到开始 - >所有程序 - >附件右键单击命令提示符单击以管理员身份运行
在使用CD命令的命令提示符中转到MySQL bin文件夹并运行以下命令
mysqldump --user root --password = root --all-databases> dumps.sql
它将在bin文件夹本身中创建dumps.sql文件。
被拒绝的访问可能是Windows文件系统而不是MySQL数据库;尝试将输出文件重定向到允许您的帐户创建文件的位置。
使用-p-option时尝试删除空格。这适用于我的OSX和Linux mysqldump:
mysqldump -u user -ppassword ...
把GRANT
特权:
GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';
请勿使用命令输入密码。刚进入,
mysqldump -u(用户名)-p(db_name)>(backup_file).sql
然后您将收到输入密码的提示。
您需要在密码中加入包含shell元字符的反斜杠,例如!#'“`&;
当我在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
文件夹中。
mysqldump -h hostname -u username -P port -B database --no-create-info -p> output.sql
我认为你应该指定args