mysqldump:出现错误:1045 访问被拒绝。

6

我正在登录到一个AWS实例,尝试将一个mysql数据库复制到一个.sql文件中。我正在使用以下命令:

mysqldump -u [username] -p [databasename] > [database].sql

输入密码后,弹出以下信息。

"mysqldump: Got error: 1045: Access denied for user '[username]'@'localhost' (using password: YES) when trying to connect."
我可以直接使用与上面相同的凭据登录mysql,但仍然会收到相同的错误。我尝试了许多不同的命令方式,但似乎是权限或类似问题。当在phpmyadmin中查看数据库时,用户确实拥有所有特权,所以我不确定出了什么问题?有什么建议吗?谢谢。

它看起来也像是 mysqldump错误1045访问被拒尽管密码正确等 的一个副本。 - jww
还可以参考Super User上的如何让MySQL授权root用户?。它试图避免重置密码。 - jww
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6
这对我有效:
mysqldump -uroot -pxxxx dbname > dump.sql

或者您可以指定主机:

mysqldump -h localhost.localdomain -uroot -pxxxx dbname > dump.sql

请检查您是否有多个MySQL实例正在运行


4

感谢大家的帮助! 让我思考还有可能是什么问题。然后我也尝试使用-h参数,但不能与"localhost"一起使用。只有当我使用AWS实例的私有IP地址时才能正常工作。
mysqldump -h [私有IP地址] -u [用户名] -p [数据库名] > [数据库].sql


我在OpenShift Online端口转发时也遇到了这个问题。 - marlo
当我使用本地docker容器时,这解决了我的问题。 host = localhost不起作用。 host = 127.0.0.1有效。 - kedarme

1
mysqldump -u [username] -p
ENTER YOUR PASSWORD
USE [databasename]
SOURCE /path/to/[database].sql
我不确定,但值得一试,因为你说你能登录那台机器。

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