今天为创建的root 用户授予相关权限提示如下错误:

mysql> grant all privileges on test.* to root@'%' identified '123456';
提示如下错误:ERROR 1064(4200): you have an error in you SQL syntax; **near 'identified '123456'' at line 1
查询MySQL8 相关授权资料的得知,分配权限不能带密码。

修改后的指令如下:

mysql >  grant all privileges on test.* to root@'%'
提示的错误信息如下:You are not allowed to create a user with GRANT;
产生用户不能授权的原因是mysql 数据库中user 表中的特定用户(root) 的host 的属性值为localhost.

解决办法如下:

# 使用mysql 数据库
mysql > use mysql;
# 特定用户的host 修改
mysql > update user set host='%' where user='root';
# 指定用户的授权
mysql > grant all privileges on test.* to root@'%'

————————————————
版权声明:本文为CSDN博主「在奋斗的大道」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhouzhiwengang/article/details/102909298

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐