mysql数据库root授权失败ERROR 1044 (4200

2022-07-06  本文已影响0人  testerzhang

问题

使用$ ./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系统或者其他技术问题,也可以付费协助解决。

上一篇下一篇

猜你喜欢

热点阅读