Назад | Перейти на главную страницу

Не удается восстановить экземпляр Google Cloud SQL

Я пытаюсь восстановить свой экземпляр Google Cloud SQL из резервной копии с предыдущей даты:

gcloud sql backups restore 1504554300110 --restore-instance=[MY-DB-INSTANCE]

В конце концов, он продолжает выдавать ошибку:

ERROR: (gcloud.sql.backups.restore) HTTPError 503: Service temporarily unavailable.

Я пытаюсь каждый день в течение недели и продолжаю получать то же сообщение об ошибке. Я пробовал использовать как веб-интерфейс, так и gcloud команда, и ни один, похоже, не работает. У кого-нибудь есть предложения?

Чтобы восстановить резервную копию из того же экземпляра:

gcloud sql backups restore [BACKUP_ID] --restore-instance=[INSTANCE_NAME]

Чтобы восстановить резервную копию из другого экземпляра:

gcloud sql backups restore [BACKUP_ID] --restore-instance=[TARGET_INSTANCE_NAME] \
                                      --backup-instance=[SOURCE_INSTANCE_NAME]

Перед тем, как сделать это, обязательно запустите:

gcloud sql backups list --instance [INSTANCE_NAME]

найдите резервную копию, которую вы хотите использовать, запишите ее значение идентификатора и выберите резервную копию с пометкой «УСПЕШНО»

Вот полная документация о Восстановление экземпляра.

Этот ответ может быть для вас слишком поздно, но я оставляю ответ здесь на всякий случай, если он может помочь кому-то другому.

Как указал @Kenworth, страница документации о Восстановление экземпляра Cloud SQL содержит всю информацию о том, как этого можно достичь и каковы его последствия.

Однако кажется, что оба gcloud и Приставка подходы не сработали для вас, поэтому вам нужно попробовать что-то еще, например, вызовы API для восстановления желаемой резервной копии. Вы можете сделать это двумя способами:

С помощью curl: Получите токен доступа, затем перечислите доступные резервные копии для экземпляра и, наконец, восстановите его.

echo "Getting Access Token"
ACCESS_TOKEN="$(gcloud auth print-access-token)"

echo "List available backups for the instance [INSTANCE_NAME] in [PROJECT_ID]"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/[INSTANCE_NAME]/backupRuns

echo "Restore backup [BACKUP_ID] in instance [INSTANCE_NAME] in [PROJECT_ID]"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{ "restoreBackupContext": {"backupRunId": "[BACKUP_ID]"}}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/restoreBackup

С помощью Обозреватель API: Это то же самое, что и с командой CURL, но у вас есть веб-интерфейс для выполнения вызовов API. Первый перечислить доступные резервные копии, затем выберите тот, который хотите восстановить, и, наконец, восстановить это.

Если у вас все еще есть проблемы с восстановлением резервной копии в экземпляре Cloud SQL, вам следует обратитесь в службу поддержки Google Cloud Platform чтобы мы могли помочь вам в дальнейшем.