【问题标题】:Retrieving Automated Google Cloud SQL Backups检索自动 Google Cloud SQL 备份
【发布时间】:2012-12-17 03:27:01
【问题描述】:

我的团队要求我们能够检索数据库的备份(托管在 Google Cloud SQL 上)并将该数据库恢复到本地托管的 MySQL 实例。

我知道 Google Cloud SQL 能够安排备份,但这些似乎无法在任何地方下载。

我也知道我们能够将我们的数据库“导出”到 Google Cloud Storage,但我们希望能够安排“导出”。

这里的最终目标是在某种管理脚本中执行以下步骤:

  1. 自动备份托管在 Google Cloud SQL 上的数据库。
  2. 将备份下载到本地(非云)服务器。
  3. 将备份还原到 MySQL 的本地实例。

有什么想法吗?

【问题讨论】:

  • 3年后,jmwicks给出了正确答案

标签: google-cloud-sql


【解决方案1】:

gcloud sdk 命令现在提供导入/导出功能:

gcloud sql export sql <DATABASE_INSTANCE> \
    gs://<CLOUD_STORAGE_BUCKET>/cloudsql/export.sql.gz \
    --database <DATABASE_NAME>

可以使用gsutil 下载此导出。也可以使用mysqlimport导入

【讨论】:

  • 您还需要为 sql 实例 (gcloud sql instances describe &lt;instance-name&gt; | grep -i account) 授予服务帐户Storage Object Creator 权限,以便它可以在存储桶中创建转储文件。
  • 此命令已弃用,将在版本 205.0.0 中删除。请改用gcloud sql export sql
【解决方案2】:

这是我遇到的问题,我的解决方案是:

  1. 转到IAM Service Accounts Management
  2. 创建一个新的服务帐户(我称之为sql-backuper),以 JSON 格式下载它的访问密钥
  3. 在主 IAM 页面上授予查看者、存储对象创建者角色(目前 GCloud 没有单独的 SQL 只读角色)
  4. 在将进行备份的机器上进行设置: gcloud auth activate-service-account sql-backuper@project-name-123.iam.gserviceaccount.com --key-file /home/backuper/gcloud-service-account.json (gcloud auth documentation)
  5. GCloud Storage Browser创建一个新的bucket
  6. 现在您可以在备份计算机上运行:gcloud sql instances export [sql-instance-name] gs://[bucket-name]/[file-name].gz --database [your-db-name] (gcloud sql documentation) 和 gsutil cp gs://[bucket-name]/[file-name].gz [local-file-name].gz (gsutil cp documentation)
  7. 您已经获得了一个本地数据库副本,您现在可以随意使用它

【讨论】:

  • 这应该是公认的答案,因为它涵盖了所有要求
【解决方案3】:

请注意,您现在可以使用Cloud SQL REST API 触发Export 操作。

因此您的管理脚本可以执行此操作,然后从 Cloud Storage 下载备份(不过,您需要等到导出操作完成)。

【讨论】:

    【解决方案4】:

    抱歉,Cloud SQL 目前没有此功能。我们希望将来更容易做到这一点。同时,您可以将 Selenium(或其他一些 UI 脚本框架)与 cron 作业结合使用。

    【讨论】:

    • 继续并将其标记为答案,因为它是。但这似乎是功能上的一个很大的漏洞。
    【解决方案5】:

    如果您想下载备份(手动或自动),您可以启动另一个 CloudSQL 实例,然后:

    1. 点击备份实例中的备份选项(恢复)
    2. 选择在之前启动的实例上恢复
    3. 从新恢复的 CloudSQL 中导出数据
    4. 在 Cloud Storage 上获取 .sql 或 .csv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2016-05-28
      相关资源
      最近更新 更多