MySQL8.0 ERROR 1410 (42000): You are not allowed to create a user with GRANT
短信预约 -IT技能 免费直播动态提醒
在mysql上授权指定账号特定数据库表的查询权限,出现下面的报错。
mysql> grant select on testuser.* to user6;
ERROR 1410 (42000): You are not allowed to create a user with GRAN
实质问题原因是:授权语法不严谨导致所授权的用户及其所在主机名,要与实际存在的用户及其主机名一致。
如果已建用户是:testuser@localhost,你要授权给testuser@%,那肯定不行,必须一样才行。
所以主机名不一致的需要先修改主机名或者修改授权SQL语句。
-- 查看用户信息
select User,authentication_string,Host from mysql.user;
-- 更新指定用户主机
update mysql.user set host='%' where user='TESTUSER';
正常授权流程如下:
-- 切换数据库use mysql;-- 创建一个普通用户create user 'TESTUSER'@'%' identified by 'PASSWORD';-- 授权指定数据库和表的select权限grant select on app.user to 'TESTUSER'@'%';grant select on app.mail to 'TESTUSER'@'%';-- 刷新权限flush privileges;
其他操作
-- 查看用户拥有的权限的情况SHOW GRANTS FOR 'TESTUSER'@'%';-- 撤销指定表所有权限revoke all on app.user from 'TESTUSER'@'%';
拓展参考的文章 msyql 赋予权限和撤销权限_redhatlxs的博客-CSDN博客
来源地址:https://blog.csdn.net/gmaaa123/article/details/127690504
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341