Я пытаюсь восстановить свой экземпляр 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 чтобы мы могли помочь вам в дальнейшем.