mysql8授权用户远程访问报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

在尝试使用Navicat远程登录MySQL8时遇到ERROR 1410错误,原因是不能通过GRANT语句隐式创建用户。解决方法包括先创建用户,然后更新用户host为%,最后授予所有权限。具体步骤包括更新mysql.user表,然后分步执行GRANT命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当有时候我们创建用通过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.如下图:
在这里插入图片描述
再执行两次

Grant all privileges on test.* to ‘test’@’%’;

成功:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值