在 CloudSQL 上恢复已删除的数据库

Restoring Deleted Databases on CloudSQL

我知道 GCP 的 CloudSQL 支持某种 instance backups。另请注意,它们使从 CloudSQL 实例详细信息 -> 数据库选项卡中 创建和删除数据库 变得非常容易。

我担心删除数据库是多么容易,尤其是在发生错误的情况下。是否有可能恢复意外删除的数据库?我找不到任何关于如何处理这种情况的文档。或者更好的是,如何防止此类意外删除?

为了澄清起见,我讨论的是删除实例上的 数据库 ,而不是实例本身。

即使使用常规 SQL 实例,deleting a database 也非常容易。只要您拥有正确的权限,只需以下内容:

DROP DATABASE db_name

因此,如果您想阻止某人删除数据库,请不要授予他们对该数据库的 DROP 权限。

Cloud SQL 遵循相同的逻辑。如果查看 deleting a database 的文档,您会发现它需要 sqlservice.admin 范围。避免向用户授予此 IAM 权限,他们将无法删除实例。