谷歌云上的MySQL 8.0 SQL:如何设置每个数据库的权限



我在Google Cloud SQL上有一个MySQL 8.0数据库。我有两个应用程序访问同一MySQL实例上的两个不同数据库。我正在尝试设置访问控制,以便每个应用程序都有自己的用户,并且该用户只能访问其中一个数据库。但是,当我使用CloudSQL接口创建一个新用户时,该用户可以访问MySQL实例上的所有数据库。

谷歌文档提供了以下信息:

在MySQL 8.0 for Cloud SQL中,当您创建新用户时,该用户将自动被授予cloudsqlsuperuser角色。cloudsqlsuperuser角色是一个云SQL角色,包含许多MySQL权限。除了SUPER和FILE之外,此角色为用户提供MySQL的所有静态权限。

是否可以从用户中删除此cloudsqlsuperuser角色,并允许用户单独访问数据库?这是怎么做到的?

如果您使用云SQL API,您将添加云SQL级别的用户(作为根用户,超级用户角色(。

如果要管理数据库中的用户和权限,则必须登录到数据库(使用超级用户帐户(,在数据库中创建用户并在数据库中授予他们权限。您不能在外部(通过API调用、terraform或其他方式(执行此操作。

是的,这对自动化来说很无聊。

最新更新