当我尝试从ssh使用mysqldump进行备份时,我在计算机10.64.1.1上运行以下命令。它会给出以下错误。
mysqldump --user=test -p=password --host=10.64.1.2 --tab=. databasename tablename
尝试连接时的mysqldump: Got error: 1045: Access denied for user 'test'@'10.64.1.1' (using password: YES)
但是,我可以使用相同的用户名和密码访问mysql。
mysql --user=test -p[password]
当前用户:test@10.64.1.1
SSL:Not in use
当前寻呼机:stdout
使用输出文件:''
使用分隔符:;
服务器版本:5.0.91-50-log Percona SQL Server, Revision 73 (GPL)
协议版本:10
连接:10.64.1.2 via TCP/IP
更新:
如果我这样做,请遵循mysql文档:--password[=password]
或-p[password]
。
由于我的密码包含特殊符号@
,所以Mysql无法正确检测用户。它会抱怨:
mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database
发布于 2013-10-26 11:32:47
您必须以管理员身份运行CMD.EXE:
右键单击cmd.exe -->以管理员身份运行,然后键入命令:
mysqldump -uusername -ppassword -hip或命名数据库名称c:\sqlfile.sql >mysqldump
它应该工作得很好。
发布于 2014-06-11 21:27:08
我知道这个话题很古老,但我碰巧也有同样的问题。我发现问题出在密码中使用的特殊字符。事实上,它们必须使用反斜杠:--password=123\@456
或使用单引号--password='123@456'
进行转义
发布于 2012-10-17 16:59:24
我在通过Plesk创建的DB用户上也遇到了同样的问题。用户拥有对单个数据库的权限。如果我指定数据库名称,我会得到上面提到的错误。如果我为所有数据库指定-A
,转储就会正常工作。
https://stackoverflow.com/questions/5767036
复制相似问题