今天登录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.