Google Cloud SQL Admin API 与存储过程和函数一起备份

Google Cloud SQL Admin API backing up along with Stored Procedures and Functions

通过探索 GCP 提供的 API libraries,我发现我们可以创建按需备份。

但在 MySQL 中,我们可以在 mysqldump 命令中使用 --trigger 标志来备份存储过程和函数。我没有在 API.

中找到此标志作为参数

并且 this 表示我们无法使用 gcloud 或 cURL 备份触发器,建议在实例本身中使用 mysqldump。

我想知道是否还有一种方法可以以编程方式随过程一起转储,我们可以在其中实现数据库的完整备份。我使用 Cloud Scheduler 定期执行此操作。

仅使用 GCP 接口或 API 不可能转储所有内容,但可以直接在实例上使用 mysqldump 运行 + scripting/scheduling ,这基本上就是您所说的。

此外,在 MySQL 文档的 this page 中,声明 mysqldump 导出: 存储过程和函数取决于选项 --routines。 表的触发器取决于选项 --triggers。 所以你对倾销的控制比 --triggers.

多一点

并且,作为旁注,考虑一下,如果您要再次将这些转储导入 CloudSQL(据我所知,这是您在备份时所做的),那么您无法使用 Stored 导出它们过程、函数或触发器。 CloudSQL 无法导入包含任何这些元素的转储,如 the docs say.

经过对 GCP 的长期研究和探索,您无法使用任何 GCP features/apps.

获得云 SQL 的完整备份

唯一的方法是 运行ning mysqldump 针对云 SQL 实例,这意味着我们可以 运行 此命令针对具有连接访问权限的实例。

我创建了一个简单的 NodeJS 服务器,它有一个执行此 mysqldump 操作的端点。

Cloud Scheduler > 服务器上的端点 > 使用任何标志转储整个数据 > 将其存储在 Google Cloud Storage 中。