当前位置: 首页 > 知识库问答 >
问题:

无法在mysql 8.0.17上授予选择

井通
2023-03-14

我想从每个主机向用户授予select权限,但如果出现错误,则不允许创建用户

mysql

错误1410(42000):不允许使用GRANT创建用户

我不想创建新用户,因为我使用了命令create user

我试图创建一个新用户,但grant命令也失败了。

共有2个答案

夏飞掣
2023-03-14

我也有同样的问题。

但我的问题是,我在创建用户查询时出错了。我想创建grafana用户,但执行了以下查询:创建用户grafan,由'

然后,当我在mydb上执行查询GRANT SELECT时。*TO grafana@'%';我得到一个错误ERROR1410 (42000):您不允许使用GRANT创建用户。没有提到用户grafana不存在。

我花了大约20分钟来找出我做错了什么。

因此,如果您正在阅读本文,只需检查您是否正确创建了用户。希望这能帮助别人。

慕容成文
2023-03-14

在这个MySql版本(8及以上版本)中,一个好主意(也是一个好实践)是配置角色,然后为其设置用户,就像这篇好文章(阅读它,非常好!)。

您可以将角色设置为多个用户。

像这样的东西:

1-创建角色:

create ROLE name_of_your_role;

2-为角色设置必要的权限,记住,在这个MySql版本中,您不需要刷新权限。示例(根据需要更改数据库名称或通配符的mydatabase表达式):

grant alter,create,delete,drop,index,insert,select,update,trigger,alter
 routine,create routine, execute, create temporary tables 
on mydatabase.* to 'name_of_your_role';

3-为您的用户授予角色:

grant 'name_of_your_role' to 'alice';

4-将此角色设置为您的用户的默认角色:

set default role 'name_of_your_role' to 'alice';
 类似资料:
  • 问题内容: 我有一个用户,我想授予该用户对数据库模式的所有READ权限。 一种方法是这样的: 有没有一种方法可以将所有读取操作归类到Grant中? 问题答案: 如果有任何单一特权代表对数据库的所有读取操作。 这取决于您如何定义“全部阅读”。 从表和视图中“读取”是特权。如果这就是“全部阅读”的意思,那么可以: 但是,听起来您的意思是一种“看到”一切,“看起来而不是触摸”的能力。因此,这是我想到的其

  • 我在*上运行命令< code >授予所有权限。*到由“root”标识的“root”@“%”; 并且它不断显示以下错误 11: 43:51向“root”标识的“root“@”%“授予所有权限。错误代码:1045。拒绝用户“root‘@”%的访问(使用密码:YES)0.00045秒 我还检查了Mysql上的User表,如下所示。 我不知道这是怎么回事?: 不重新安装MySQL怎么解决这个问题?(因为,

  • 在本主题中,作者将介绍如何跳过授权对话框,根据用户登录和密码获取访问令牌。 我可以访问endpoint并获取访问令牌,然后刷新令牌: 但是当我试图获取用户的电子邮件时,我得到了一个错误: 这种身份验证方法对Microsoft Graph API仍然有效吗?如果没有,是否有其他方法来获得用户授权,只使用登录和密码,没有任何用户交互,只获得他的登录和密码?

  • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

  • 问题内容: 我想允许John mysql用户使用LOAD DATA命令。所以我以root用户身份登录mysql终端并发出以下语句: 但我收到以下错误: 如果将替换为,则一切正常。但这并不意味着所有数据库吗?我想将john mysql用户限制为johndatabase。 问题答案: 您不能仅在单个数据库上授予FILE特权。从逻辑上讲这没有任何意义。考虑一下文档怎么说: FILE特权授予您使用LOAD

  • 我在学校使用SQL*Plus,我使用用户名斯科特。我不能创建视图,因为它说: 我找了又找,但似乎没有什么是对的。有什么帮助吗?