如何只向MySQL中的新用户授予少量优先权(仅执行DML和DDL语句)?

时间:2016-04-07 07:25:29

标签: mysql database

如何只向MySQL中的新用户授予少量优先权(仅执行DML和DDL语句)?

我尝试了以下命令:

GRANT CREATE,ALTER,DROP,SELECT,INSERT,UPDATE,DELETE ON数据库。* to' karthik'由shimoga';

确定

但是,它显示语法错误。

1 个答案:

答案 0 :(得分:1)

您需要从声明中删除“ shimoga”标识的内容。

创建用户:

通过“密码”标识创建用户“ karthik” @“ instance”;

授予特权:

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


更好的解决方案是创建一个角色。并将角色分配给用户。 如果您有许多需要类似特权的用户,这将使您的工作更加轻松。

首先创建一个角色:

如果不存在“开发人员” @“本地主机”,则创建角色;

然后将所需的特权分配给角色。

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

最后将角色分配给您已经创建的用户: 将'Developer'@'localhost'授予'karthik'@'instanceName';

将默认角色全部设置为'karthik'@'instanceName';