簡體   English   中英

如何在 MySQL 中僅向新用戶授予少數特權(僅執行 DML 和 DDL 語句)?

[英]How to grant only few previleges ( to execute only DML and DDL statements) to the new user in MySQL?

如何在 MySQL 中僅向新用戶授予少數特權(僅執行 DML 和 DDL 語句)?

我嘗試了以下命令:

GRANT CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE ON database.* to 'karthik' identified by 'shimoga';

但是,它顯示語法錯誤。

您需要從您的聲明中刪除“shimoga”標識。

創建用戶:

CREATE USER 'karthik'@'instance' IDENTIFIED BY 'Password';

然后授予特權:

GRANT SELECT, DELETE, UPDATE, EXECUTE, INSERT, DROP, ALTER, CREATE ON databaseName.* TO 'karthik'@'instancename';

更好的解決方案是創建一個角色。 並將角色分配給用戶。 如果您有許多需要類似權限的用戶,這將使您的工作更輕松。

首先創建一個角色:

CREATE ROLE IF NOT EXISTS 'Developer'@'localhost';

然后將所需的權限分配給角色。

GRANT SELECT, DELETE, UPDATE, EXECUTE, INSERT, DROP, ALTER ON databaseName.* TO 'Developer'@'instanceName';

最后將角色分配給您已經創建的用戶:

GRANT 'Developer'@'localhost' TO 'karthik'@'instanceName'; 

SET DEFAULT ROLE ALL TO 'karthik'@'instanceName';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM