使用在AWS RDS中托管的MySQL 5.6或5.7或Docker MySQL容器,我想创建一个权限最小的用户,例如named creator,可以执行以下操作:
如果creator用户无权访问不负责创建的现有数据库,我更愿意.
这可以实现吗?
到目前为止,我的研究表明,这样的creator用户可能需要跨MySQL实例的全局SELECT和INSERT权限,但这似乎过多.
小智 3
您可以使用存储过程和一种比 SP 更简单的解决方法来执行此操作,并且可能正是您正在寻找的:
正如您在这个答案
GRANT CREATE USER ON *.* TO '<user>'@'<host';
GRANT ALL PRIVILEGES ON `<user>_%`.* TO '<user>'@'<host>' WITH GRANT OPTION;
中看到的,您需要注意以下几点:
aaa您可以创建名称为 的数据库aaa_example,如果 aaa 想要创建名为 mysql 的数据库,bbb_example则会出现权限被拒绝错误。考虑到这一点,您可以调整它`<user>_%`以最适合您的需求。