用户 'ODBC'@'localhost' 的访问被拒绝。

5

我已经到处查找,但似乎找不到解决此问题的方法,尽管有很多相关文章。无论如何,我正在尝试执行以下命令

mysqldump -hlocalhost -uroot -p mydb mytable > myexportedtable.sql

这有时会导致以下错误:
mysqldump: Got error: 1045: Access denied for user 'ODBC'@'localhost' <using password:NO> when trying to connect

这让人感到困惑的原因有两个。第一,我在命令中指定了root用户,但它却认为我是ODBC用户。第二,我只偶尔会遇到这个错误(通常不会)。当我指定root时,我可以通过mysql交互式shell进行身份验证,但在使用mySQL dump时却一直出现此错误。非常感谢任何见解,因为我已经为此烦恼了几天。


你是以“ODBC”用户身份运行吗?来自本地主机? - doublesharp
我正在本地主机上运行。 - Chris Hall
你是在“-u”和“root”之间省略了空格还是在问题中打错了字? - didierc
另外,请注意默认主机是localhost,因此您实际上不需要指定它。 - didierc
在控制面板中的ODBC管理器中测试ODBC连接。可能是配置有误,请尝试使用DSN。 - i486
2个回答

8

需要手动输入命令。有时复制和粘贴命令会更改连字符 (-)。它忽略用户名,因为它不能识别 -u。


1
这似乎是由于连接到数据库时使用了错误的用户、密码或者从不允许的主机或套接字/端口连接导致的。建议检查用户的访问权限,例如:
mysql> SELECT user, host FROM mysql.user WHERE user = 'jake';
mysql> SHOW GRANTS FOR 'jake'@'localhost';

也许你可以看一下mysqlimport: Error: 1045, Access denied,这对我帮助很大。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接