[英]Cannot Grant select on mysql 8.0.17
我想向每個主機的用戶授予選擇權限,但出現錯誤,您不允許創建用戶
mysql> GRANT SELECT ON *.* TO 'alice'@'%' WITH GRANT OPTION;
ERROR 1410 (42000): 您不能使用 GRANT 創建用戶
我不想創建新用戶,因為我使用了命令 CREATE USER
我試圖創建一個新用戶,但授權命令也失敗了。
在這個 MySql 版本(8 及以上)中,一個好主意(也是一個好實踐)是配置 ROLES,然后為其設置用戶,就像這篇好文章(閱讀它,非常好!)。
您可以將您的角色設置為多個用戶。
像這樣的東西:
1 - 創建角色:
create ROLE name_of_your_role;
2 - 為 ROLE 設置必要的權限,記住,在這個 MySql 版本中你不需要 Flush Privileges 。 示例(根據需要更改數據庫名稱或通配符的 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';
我只是有同樣的問題。
但我的問題是我在CREATE USER
查詢中犯了一個錯誤。 我想創建grafana
用戶,但執行了以下查詢: CREATE USER grafan IDENTIFIED BY '<password>';
(請注意,我在這里創建了grafan
用戶而不是grafana
)
然后,當我執行查詢GRANT SELECT ON mydb.* TO grafana@'%';
我收到錯誤ERROR 1410 (42000): You are not allowed to create a user with GRANT
。 沒有提到用戶grafana
不存在。
我花了大約 20 分鍾來弄清楚我做錯了什么。
因此,如果您正在閱讀本文,只需檢查您是否正確創建了用戶。 希望這會對某人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.