问题
使用$ ./mysql -h127.0.0.1 -P3338 -uroot -p
进行授权
mysql> GRANT ALL PRIVILEGES ON test.* TO 'wodamonitor'@'%' WITH GRANT OPTION;
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'test'
结果报错了。
排查和解决
mysql> SELECT host,user,Grant_priv,Super_priv FROM mysql.user;
+-----------+------------------+------------+------------+
| host | user | Grant_priv | Super_priv |
+-----------+------------------+------------+------------+
| localhost | root | Y | Y |
| localhost | mysql.session | N | Y |
| localhost | mysql.sys | N | N |
| % | root | N | Y |
对于%
的权限是不给授权的,只有用localhost才可以,那么要么使用localhost,要么就是放开所有主机权限。
mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 2 Changed: 1 Warnings: 0
欢迎关注我的同名公众号,原创技术文章第一时间推送。
如果你有遇到Linux系统或者其他技术问题,也可以付费协助解决。
网友评论