尝试在Workbench中导入数据库时​​,用户@ localhost访问被拒绝

时间:2014-02-04 09:01:15

标签: localhost mysql-workbench privileges

我正在尝试在localhost中的Workbench中导入数据库。我选择文件(它的行为是csv文件),当我点击“开始导入”时,我收到此错误:

Operation failed with exitcode 1
09:51:12 Restoring /home/carlo/Downloads/db_export.csv
Running: mysql --defaults-extra-file="/tmp/tmpt_73Sg/extraparams.cnf"  --host=127.0.0.1 --user=carlo --port=3306 --default-character-set=utf8 --comments < "/home/carlo/Downloads/db_export.csv"
ERROR 1045 (28000): Access denied for user 'carlo'@'localhost' (using password: YES)

问题似乎是密码,但我确定我正确插入密码。此外,在点击“开始导入”之前,我被要求输入密码并且它有效。可能有什么不对?

我是按照mysql网站上的说明从mysql shell客户端创建了我的用户,如下所示:

CREATE USER 'carlo'@'localhost' IDENTIFIED BY 'carlo';
GRANT ALL PRIVILEGES ON *.* TO 'carlo'@'localhost' WITH GRANT OPTION;
CREATE USER 'carlo'@'%' IDENTIFIED BY 'carlo';
GRANT ALL PRIVILEGES ON *.* TO 'carlo'@'%' WITH GRANT OPTION;

3 个答案:

答案 0 :(得分:0)

由于您已登录,因此导入应按预期工作。只需确保您要导入SQL文件。 MySQL Workbench中的转储/恢复功能使用私有配置文件来避免在命令行上传递密码(这将是一个安全问题)。但是,它只能传递给出的内容。因此,如果您的用户名/ PW组合不起作用,那么您在那里犯了错误。

补助可能不是问题,因为错误是关于不允许连接的用户。所以特别要检查这一部分。还要确保使用了正确的主机(也适用于用户)。

答案 1 :(得分:0)

你在Grant之后完成了FLUSH PRIVILEGES吗?

即使它不起作用,你能不能给我们

SELECT USER, HOST FROM MYSQL.USER;
SELECT USER(), CURRENT_USER();

答案 2 :(得分:0)

我在MySQL Workbench 8中有一个类似的问题。我得到的错误是:

  

错误1045(28000):用户'user'@'ip'的访问被拒绝(使用密码:否)操作失败,退出代码为1

但是该错误具有误导性,因为它不是与密码有关的错误,只是我的用户没有LOCK TABLES的权限。因此,对我来说,解决方案是转储要再次导入的表,并在mysqldump之后添加--skip-add-locks标志(在我的情况下,我无法修改数据库用户的权限)。

因此,如果遇到此问题,还请检查数据库用户的权限。