1. 今天刚装了mysql8.0.13,试着分配几个账号和权限,结果报错:

2. 查资料得知mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限

输入命令:

Grant all privileges on test.* to 'test'@'%';

又报错:

You are not allowed to create a user with GRANT;

不允许使用grant命令,怎么会没权限,奇怪。

3.后来想到了mysql数据表user中的host

于是修改host:

update user set host='%' where user='test';

再执行两次

Grant all privileges on test.* to 'test'@'%';

成功:

但连接Navicat报错

这是因为mysql8的加密方式和Navicat不一样

4.修改加密方式:

alter user test identified with mysql_native_password by 'xxx';

再试,搞定! 

原文链接:https://blog.csdn.net/qq_34680444/article/details/86238516