如何只向MySQL中的新用户授予少量优先权(仅执行DML和DDL语句)?
我尝试了以下命令:
GRANT CREATE,ALTER,DROP,SELECT,INSERT,UPDATE,DELETE ON数据库。* to' karthik'由shimoga';
确定但是,它显示语法错误。
答案 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';