给mysq8.0l账号授权

给mysql账号授权

8.0前【也可能更之前,我没测】:

grant all privileges on *.* to ‘账号’@'服务器ip【如果服务器端口号不是3306,不知道加不加端口号,我没测】' identified by "密码" with grant option;

这会报语法错误 说是在 ' identified by 附近【实际上就是在它之前】,实际上mysql8不支持这种语句了【你可能想把他粘到navicat修改一下语法。。。。navicat就是一个窗口而已,他连接哪个版本服务器就遵循哪个服务器的语法,他自己没有语法,亲】。

修改host:update user set host='%' where user='账户名';

再执行两次

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

成功:

接下来用navicat访问的话,可能会报一个密码加解密方式不匹配的问题:把加密方式变更为mysql_native_password,

大家自己访问mysql服务器上的mysql库中的user表就会找到这个名为plugin加密方式字段。另外说一句,mysql8中的密码字段已经不叫password了【这是挖的哪门子坑】

alter user 账户名 identified with mysql_native_password by '你的密码';

 

最后记得做刷新

flush privileges;

 

你可能感兴趣的:(给mysq8.0l账号授权)