当有时候我们创建用通过navicat远程登录时候会报错如下:
原因是用户没有开通远程访问的权限,这时候网上的办法是如下:
GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “abc123456”;
// 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;
但是我们按照上面代码操作后发现报错
原因是mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限
输入命令:Grant all privileges on test.* to ‘test’@’%’;
又报错:You are not allowed to create a user with GRANT ;
修改host:update user set host=’%’ where user=‘test’; 这时候注意 user表在mysql库中,要用mysql.user.如下图: