MySQL Access denied for user 'root'@'%' (using password: YES)错误分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuyunier/article/details/85698259

1、问题描述
使用root账号登录数据库,在使用命令给新创建新用户赋予权限时候报错
1045 - Access denied for user 'root'@'%' (using password: YES)
在这里插入图片描述2、问题定位

  • 使用以下命令查询user表中root用户是否有grant和super权限:
mysql> select Host,User,Grant_priv,Super_priv from mysql.user;
+-----------------------+-----------+------------+------------+
| Host                  | User      | Grant_priv | Super_priv |
+-----------------------+-----------+------------+------------+
| localhost             | root      | Y          | Y          |
| localhost.localdomain | root      | Y          | Y          |
| 127.0.0.1             | root      | Y          | Y          |
| ::1                   | root      | Y          | Y          |
| localhost             |           | N          | N          |
| localhost.localdomain |           | N          | N          |
| %                     | root      | N          | N          |
| %                     | skylight  | N          | N          |
| %                     | skylight1 | N          | N          |
+-----------------------+-----------+------------+------------+
9 rows in set

mysql> 
  • 查询结果显示root没有grant权限和super权限,使用以下命令将root的两个权限更新为Y,并执行FLUSH PRIVILEGES命令刷新权限,让分配的权限生效。
mysql> update mysql.user set Grant_priv='Y',Super_priv='Y' where user = 'root' and host = '%';
Query OK, 1 row affected
Rows matched: 1  Changed: 1  Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected

mysql> 

3、给创建的新用户赋予权限
权限生效后,便可以创建用户,给创建的用户分配权限了

mysql> CREATE USER 'skylight2 '@'%' IDENTIFIED BY 'skylight2';
Query OK, 0 rows affected
mysql> GRANT ALL PRIVILEGES ON *.* TO 'skylight2'@'%' IDENTIFIED BY 'skylight2' WITH GRANT OPTION;
Query OK, 0 rows affected
mysql> 

猜你喜欢

转载自blog.csdn.net/zhuyunier/article/details/85698259