mysqldbcopy - 错误 1045:用户“root”@“localhost”的访问被拒绝(使用密码:否)

Posted

技术标签:

【中文标题】mysqldbcopy - 错误 1045:用户“root”@“localhost”的访问被拒绝(使用密码:否)【英文标题】:mysqldbcopy - Error 1045: Access denied for user 'root'@'localhost' (using password: NO) 【发布时间】:2013-07-27 04:31:46 【问题描述】:

我正在使用 mysql 工作台,它在 linux 下具有命令 mysqldbcopy。当我尝试使用它时,我必须提供一个连接字符串(参见示例here)。

我的密码包含 & 符号,因此我调用mysqldbcopy 如下(用于字符转义建议)

mysqldbcopy \
    --source "root:&1qqq34rtyy@localhost:3310:/var/run/mysqld/mysqld.sock" \
    --destination "root:&1qqq34rtyy@localhost:3310:/var/run/mysqld/mysqld.sock" \
    old:new

但我收到以下错误,通过谷歌搜索,我发现这意味着我没有提供正确的密码(如果我错了,请纠正我)

# Source on localhost: ... ERROR: Cannot connect to the Source server.
Error 1045: Access denied for user 'root'@'localhost' (using password: NO)

能否说明问题出在哪里?

是的,我确定密码是正确的,它是从.my.cnf 复制的,我可以在mysql 命令下使用它

【问题讨论】:

你看到 using password: NO 的部分了吗?这意味着您尝试在不使用密码的情况下进行连接 - 所以您一定是找错地方了…… @alfasin,如果上面的命令不正确,能否请您指出调用mysqldbcopy的正确方法? 也许密码中的& 是问题 - 尝试将密码更改为不包含特殊字符的密码 【参考方案1】:

mysqldbcopy

--source=root':&1qqq34rtyy'@localhost:3310:/var/run/mysqld/mysqld.sock  
--destination=root':&1qqq34rtyy'@localhost:3310:/var/run/mysqld/mysqld.sock 
 old:new  --force

我也遇到了同样的问题,

上述语法执行顺利,没有任何错误。 如果目标数据库名称已经存在并且需要强制覆盖,请使用--force

【讨论】:

【参考方案2】:

通过查看您提供的链接,我可以得出结论-

你正在使用 -

mysqldbcopy \
    --source "root:&1qqq34rtyy@localhost:3310:/var/run/mysqld/mysqld.sock" \
    --destination "root:&1qqq34rtyy@localhost:3310:/var/run/mysqld/mysqld.sock" \
    old:new

但链接显示,

mysqldbcopy \   
    --source=root:pass@localhost:3310:/test123/mysql.sock \ 
    --destination=root:pass@localhost:3310:/test123/mysql.sock \   
   util_test:util_test_copy

结论,

    --source--destination 之后,您提供的链接中的示例具有'='

    如果双引号不起作用,请尝试使用单引号。

    验证端口 3310 是否正确。我猜你安装的时候默认是3306。你能确认一下吗?

【讨论】:

谢谢你的回复,我都试过了。通过测试我可以承认使用= 不是正确解析的强制要求。 @MrRoth:请检查,我最后用新的第 3 点编辑了我的答案。希望对您有所帮助!

以上是关于mysqldbcopy - 错误 1045:用户“root”@“localhost”的访问被拒绝(使用密码:否)的主要内容,如果未能解决你的问题,请参考以下文章

错误:(1045)用户'root'@'localhost'的访问被拒绝(使用密码:否)

用户 'ODBC'@'localhost' 的错误 1045 访问被拒绝(不使用密码)

错误 1045 (28000): 用户 'root'@'localhost' 的访问被拒绝(使用密码:否)

错误 1045 (28000):用户 'root'@'localhost' 的访问被拒绝(使用密码:是)-Ubuntu

mysql错误代码1045 是为啥

PYMYSQL 错误 2021(1045,“用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)”)