mysql root给其它用户授权问题

今天登录mysql,给其它用户授权遇到问题

mysql> grant all privileges on testdb.* to 'dbuser'@'10.4.14.14' identified by '5jyeTQ';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'testdb'

首先看一下root用户有没有grant权限

mysql> select user,host,grant_priv from user;
+--------+---------------+------------+
| user   | host          | grant_priv |
+--------+---------------+------------+
| dbuser | 10.11.6.23    | N          |
| root   | localhost     | N          |
| root   | 127.0.0.1     | N          |
+--------+---------------+------------+
3 rows in set (0.00 sec)

看到root后面那两个N了吗,说明root用户没有grant权限 ,现在修改一下

mysql> update user set grant_priv='Y' where user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select user,host,grant_priv from user;
+--------+---------------+------------+
| user   | host          | grant_priv |
+--------+---------------+------------+
| dbname | 10.11.6.23    | N          |
| root   | localhost     | Y          |
| root   | 127.0.0.1     | Y          |
+--------+---------------+------------+
3 rows in set (0.00 sec)

现在变成Y了,flush privileges;刷新一下权限 ,然后授权试试

mysql> grant all privileges on testdb.* to 'dbuser'@'10.4.14.14' identified by '5jyeTQ';
Query OK, 0 rows affected (0.00 sec)
如果还是不行的话,重启一下mysql.
原文地址:https://www.cnblogs.com/huangxm/p/5158493.html