Самый простой способ сделать это - восстановить резервную копию, созданную в первом экземпляре, в новый экземпляр. Я рекомендую вам просмотреть документацию Cloud SQL по резервным копиям
Примеры шагов:
gcloud sql backups create --async --instance [SOURCE_INSTANCE_NAME]
- Список идентификаторов резервных копий для исходного экземпляра можно посмотреть следующим образом:
gcloud sql backups list --instance [SOURCE_INSTANCE_NAME]
gcloud sql backups restore [BACKUP_ID] --restore-instance=[TARGET_INSTANCE_NAME] \
--backup-instance=[SOURCE_INSTANCE_NAME]
Вы также можете выполнить все вышеперечисленное через консоль.
- После завершения восстановления вы можете удалить резервную копию . Самый простой способ сделать это - через консоль, но при необходимости это может быть сделано через REST API.
Конечно, нет команды gcloud для очистки описанных вами данных,вам нужно будет сделать это самостоятельно, исходя из собственных данных и требований анонимности. Хорошая анонимизация может быть сложной, если у вас очень ограниченный объем конфиденциальных данных.
Если вместо этого вы просто хотите экспортировать одну базу данных, тогда вы можете использовать функциональность экспорта и импорта . Это связано с некоторыми ограничениями, например, триггеры, хранимые процедуры и, возможно, представления и т. Д. Необходимо будет заново создать вручную.
Полные инструкции по экспорту , но вот краткое резюме.
Вам понадобится хранилище облачного хранилища для хранения вывода, а служебная учетная запись для базы данных должна быть записывающей в этом хранилище. Как только это будет сделано:
gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
Затем вы можете либо загрузить файл и использовать его в локальной базе данных, либо импортировать его в новый экземпляр , например:
gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[DUMP_FILE_NAME] \
--database=[DATABASE_NAME]
Очевидно, что очистка данных по-прежнему остается за вами.