MySQL:仅针对特定数据库创建具有权限的用户 [重复]

Posted

技术标签:

【中文标题】MySQL:仅针对特定数据库创建具有权限的用户 [重复]【英文标题】:MySQL: Create user with rights only for specific db [duplicate] 【发布时间】:2010-12-12 04:53:53 【问题描述】:

我需要以编程方式创建 mysql 用户,该用户仅具有特定数据库的权限。假设有数据库 a、b、c,我需要创建仅对 B 具有权限的用户。我相信它可能,但我的谷歌搜索没有成功。 谢谢!

【问题讨论】:

【参考方案1】:
grant all
    on B.*
to
    'user'@localhost
identified by
    'password'

密码为“password”的用户“user”现在可以访问数据库“B”中的所有表。 (当然你需要用高权限用户运行这个查询)

【讨论】:

如果要由应用程序使用,您还可以将“ALL”更改为更合理的权限集。大多数网络应用程序不需要创建、更改、删​​除表。 grant all on B.* to 'user'@localhost identified by 'password'; 复制和粘贴更快;)【参考方案2】:

你可以试试这个

 CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'some_pass';
 grant all privileges on B.* to 'myuser'@'localhost' identified by 'some_pass';

【讨论】:

如果用户不存在,只需授予用户权限即可。

以上是关于MySQL:仅针对特定数据库创建具有权限的用户 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySql 授予用户权限

MySQL创建数据库用户权限设置

AWS IAM 策略允许用户创建具有特定策略/角色的 IAM 用户

授予用户权限以仅查看 MySQL 视图而不查看其他内容

具有特定权限的 Postgresql 用户

Mysql 创建权限较小的用户(只对特定数据库有操作权限)