mysql – ERROR 1045(28000):拒绝访问用户’用户名’@’%'(使用密码:YES)

我在CentOS 6.4服务器上安装了MySQL.我登录了我的root并更改了密码.

后来我认为我应该创建一个新用户并将该用户用作我的默认用户,所以我使用以下命令创建了一个新的用户名golden:

CREATE USER 'golden'@'%' IDENTIFIED BY 'password';

然后我向用户gold申请了权限:

GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%';

FLUSH PRIVILEGES;

现在这个用户:黄金能够做到一切.所以我终于删除了root用户.现在我不得不为我的另一个新用户授予权限.

我创建了另一个用户,当我通过golden登录时(此时我已经删除了root用户和命令已成功创建,而新用户我也可以在列表中看到它)

CREATE USER 'fashion'@'%' IDENTIFIED BY 'password';

然后下面的命令给我错误:

GRANT ALL PRIVILEGES ON *.* TO 'fashion'@'%';

错误:错误1045(28000):用户’黄金’@’%’的访问被拒绝(使用密码:是)

我也尝试了以下命令,结果如下:

mysql> SELECT USER(),CURRENT_USER();
+------------------+----------------+
| USER()           | CURRENT_USER() |
+------------------+----------------+
| golden@localhost | golden@%       |
+------------------+----------------+

如果我无法访问此用户,那么我该如何登录并使用该数据库?请帮助.

编辑1:以下命令给出了以下结果

mysql> select user, host FROM mysql.user;
+------------+-------+
| user       | host  |
+------------+-------+
| golden     | %     |
| fashion    | %     |
+------------+-------+

解决方法:

首先,我无法想象您删除root用户的原因.但回到问题 – 您应该指定WITH GRANT OPTION,如下所示:

(但是在重新安装mysql之后应该选择这个,就好像你没有root访问权限而且用户也没有足够的权限,那么最好是重新启动安装过程并让用户授予他们以下面定义的方式享有特权

mysql> create user 'golden'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to golden@localhost with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

然后

mysql> select current_user();
+------------------+
| current_user()   |
+------------------+
| golden@localhost |
+------------------+
1 row in set (0.00 sec)

mysql> create database testing;
Query OK, 1 row affected (0.03 sec)

mysql> grant all privileges on testing.* to test;
Query OK, 0 rows affected (0.02 sec)

mysql> drop database testing;
Query OK, 0 rows affected (0.12 sec)

– 但是再次,在删除root用户之前请三思而后行.

上一篇:阿里云安装连接mysql数据库


下一篇:提升权限