如何复制 Google Cloud MySQL 数据库用于开发目的?
How to duplicate Google Cloud MySQL database for development purposes?
我有点卡住了,我最近切换到 Google Cloud MySQL 我想克隆我的一个数据库(不是实例)用于自由职业者的外部开发环境。
想法是 clone/duplicate 现有的实时数据库,然后废弃敏感数据(电子邮件等...)。
我知道我需要使用 "gcloud" 命令行功能,但我真的不知道该怎么做。
有人可以帮助我吗?
最简单的方法是将第一个实例上的备份还原到新实例。我建议您查看云 SQL documentation around backups
示例步骤:
gcloud sql backups create --async --instance [SOURCE_INSTANCE_NAME]
- 您可以通过以下方式查看源实例的备份 ID 列表:
gcloud sql backups list --instance [SOURCE_INSTANCE_NAME]
- Restore to the new instance。准备好新实例后(创建、确保它没有副本等)。
gcloud sql backups restore [BACKUP_ID] --restore-instance=[TARGET_INSTANCE_NAME] \
--backup-instance=[SOURCE_INSTANCE_NAME]
您也可以通过控制台执行上述所有操作。
- 恢复完成后,您可以remove the backup。最简单的方法是通过控制台,但如有必要,也可以通过 REST API 完成。
当然,没有 gcloud 命令可以执行您描述的数据清理,您需要根据自己的数据和匿名要求自行执行。除非您的敏感数据数量非常有限,否则做好匿名化可能会很棘手。
如果您只想导出单个数据库,则可以使用 export and import functionality。这会受到一些限制,例如触发器、存储过程和可能的视图等将需要手动重新创建。
Full instructions for export,但这里有一个简短的摘要。
您将需要一个云存储桶来保存输出,并且数据库的服务帐户需要是该桶的写入者。一旦到位:
gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
然后您可以下载该文件并在本地数据库中使用它,或者 import it into a new instance,如下所示:
gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
显然,清理数据仍然取决于您。
我有点卡住了,我最近切换到 Google Cloud MySQL 我想克隆我的一个数据库(不是实例)用于自由职业者的外部开发环境。
想法是 clone/duplicate 现有的实时数据库,然后废弃敏感数据(电子邮件等...)。 我知道我需要使用 "gcloud" 命令行功能,但我真的不知道该怎么做。
有人可以帮助我吗?
最简单的方法是将第一个实例上的备份还原到新实例。我建议您查看云 SQL documentation around backups
示例步骤:
gcloud sql backups create --async --instance [SOURCE_INSTANCE_NAME]
- 您可以通过以下方式查看源实例的备份 ID 列表:
gcloud sql backups list --instance [SOURCE_INSTANCE_NAME]
- Restore to the new instance。准备好新实例后(创建、确保它没有副本等)。
gcloud sql backups restore [BACKUP_ID] --restore-instance=[TARGET_INSTANCE_NAME] \
--backup-instance=[SOURCE_INSTANCE_NAME]
您也可以通过控制台执行上述所有操作。
- 恢复完成后,您可以remove the backup。最简单的方法是通过控制台,但如有必要,也可以通过 REST API 完成。
当然,没有 gcloud 命令可以执行您描述的数据清理,您需要根据自己的数据和匿名要求自行执行。除非您的敏感数据数量非常有限,否则做好匿名化可能会很棘手。
如果您只想导出单个数据库,则可以使用 export and import functionality。这会受到一些限制,例如触发器、存储过程和可能的视图等将需要手动重新创建。
Full instructions for export,但这里有一个简短的摘要。
您将需要一个云存储桶来保存输出,并且数据库的服务帐户需要是该桶的写入者。一旦到位:
gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
然后您可以下载该文件并在本地数据库中使用它,或者 import it into a new instance,如下所示:
gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
显然,清理数据仍然取决于您。