Restaurar uma instância

Esta página descreve como restaurar sua instância a partir de um backup e executar uma recuperação com horários definidos de uma instância.

Para informações, práticas recomendadas e requisitos para operações de restauração ou recuperação pontual, consulte Visão geral da restauração de uma instância.

Restaurar uma instância de um backup

Você pode usar um backup para restaurar a mesma instância que deu origem ao backup ou uma instância diferente no mesmo projeto.

Restaurar para uma instância diferente

Ao usar um backup para restaurar para uma instância diferente, os dados na instância de destino são atualizados para o estado em que eles estavam na instância de origem no momento em que o backup foi feito. Para mais informações, consulte Dicas para executar uma restauração e Dicas e requisitos de restauração para uma instância diferente.

Se você precisar de uma lista de backups do projeto e não conseguir visualizá-los na página de visão geral da instância devido a uma interrupção, use a API backupRuns.list com um caractere curinga (-) para recuperar uma lista de todos os backups de todas as instâncias do projeto. Para mais informações, consulte Como ver backups durante uma interrupção.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Se a instância de destino tiver réplicas de leitura, use o menu "Mais ações" Ícone mais ações. à extrema direita para excluí-las.
  3. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  4. Selecione Backups no menu de navegação do SQL.
  5. Encontre o backup para a restauração e selecione Restaurar.
  6. Na página Restaurar uma instância de um backup, confirme se você selecionou o backup correto em Revisar detalhes do backup.
  7. Em Escolher destino de restauração, selecione Substituir uma instância atual.
  8. No menu suspenso Instância, selecione a instância que você quer usar para a restauração. A instância selecionada e todos os respectivos dados serão substituídos.
  9. Para confirmar a seleção, digite o nome da instância a ser substituída no campo ID da instância de destino.
  10. Para iniciar o processo de restauração, clique em Restaurar.
  11. Verifique o status da operação de restauração na guia Operações da instância de destino.
  12. Após a conclusão da restauração, recrie as réplicas que você excluiu anteriormente.

gcloud

  1. Descreva a instância de destino para ver se ela tem alguma réplica:
    gcloud sql instances describe TARGET_INSTANCE_NAME

    Observe todas as instâncias listadas em replicaNames.

  2. Exclua todas as réplicas:
    gcloud sql instances delete REPLICA_NAME

    Repita para cada réplica.

  3. Liste os backups da instância de origem:
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
  4. Encontre o backup a ser usado e registre o valor ID correspondente.
  5. Restaure o backup especificado na instância de destino:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
        
  6. Após a conclusão da restauração, recrie as réplicas que você excluiu anteriormente.

REST v1

  1. Liste todas as réplicas da instância de destino.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=replicaNames

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  2. Exclua todas as réplicas.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • replica-id: o ID da réplica

    Método HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Repita para cada réplica.

  3. Liste os backups da instância de origem para ver o ID do backup que você quer usar.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    -OU- Caso sua instância esteja em uma região com interrupção, liste todos os backups em um projeto:

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância ou - para uma lista de todos os backups no projeto

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/-/backupRuns

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Encontre o backup da instância que você precisa restaurar.
  4. Restaure a instância de destino por meio do backup.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • target-instance-id: o ID da instância de destino
    • source-instance-id: o ID da instância de origem
    • backup-id O ID de backup

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/target-instance-id/restoreBackup

    Corpo JSON da solicitação:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  5. Após a conclusão da restauração, recrie as réplicas que você excluiu antes.

REST v1beta4

  1. Liste todas as réplicas da instância de destino.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=replicaNames

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  2. Exclua todas as réplicas.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • replica-id: o ID da réplica

    Método HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Repita para cada réplica.

  3. Liste os backups da instância de origem para ver o ID do backup que você quer usar.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  4. Restaure a instância de destino por meio do backup.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • target-instance-id: o ID da instância de destino
    • source-instance-id: o ID da instância de origem
    • backup-id O ID de backup

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/target-instance-id/restoreBackup

    Corpo JSON da solicitação:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  5. Após a conclusão da restauração, recrie as réplicas que você excluiu anteriormente.

Restaurar para a mesma instância

A restauração de um backup na mesma instância retorna os dados para o estado em que estavam no momento do backup. Para informações sobre como restaurar uma instância, consulte as Dicas sobre como fazer uma restauração.

.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Se a instância de destino tiver réplicas de leitura, use o menu "Mais ações" Ícone mais ações. à extrema direita para excluí-las.
  3. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  4. Selecione Backups no menu de navegação do SQL.
  5. Encontre o backup que você quer usar e selecione Restaurar.
  6. Na página Restaurar uma instância de um backup, confirme se você selecionou o backup correto em Revisar detalhes do backup.
  7. Em Escolher destino de restauração, selecione Substituir a instância de origem.

    Verifique se o nome da instância de origem está especificado entre parênteses.

  8. Para confirmar a seleção, digite o nome da instância no campo ID da instância de destino.
  9. Para iniciar o processo de restauração, clique em Restaurar.
  10. Verifique o status da operação de restauração. Para isso, acesse a página Operações da instância.
  11. Após a conclusão da operação de restauração, recrie todas as réplicas que você excluiu na primeira etapa.

gcloud

  1. Descreva a instância para ver se ela tem alguma réplica:
    gcloud sql instances describe INSTANCE_NAME

    Observe todas as instâncias listadas em replicaNames.

  2. Exclua todas as réplicas:
    gcloud sql instances delete REPLICA_NAME

    Repita para todas as réplicas.

  3. Liste os backups da instância:
    gcloud sql backups list --instance INSTANCE_NAME
  4. Encontre o backup a ser usado e registre o valor ID correspondente.
  5. Restaure a instância a partir do backup especificado:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
  6. Após a conclusão da operação de restauração, recrie todas as réplicas que você excluiu na primeira etapa.

REST v1

  1. Liste todas as réplicas da instância.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=replicaNames

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  2. Exclua todas as réplicas.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • replica-id: o ID da réplica

    Método HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Repita para cada réplica de leitura.

  3. Liste os backups da instância para ver o ID do backup a ser usado.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  4. Restaure a instância por meio do backup.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância
    • backup-id O ID de backup

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/restoreBackup

    Corpo JSON da solicitação:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  5. Após a conclusão da restauração, recrie as réplicas que você excluiu antes.

REST v1beta4

  1. Liste todas as réplicas da instância.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=replicaNames

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  2. Exclua todas as réplicas.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • replica-id: o ID da réplica

    Método HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Repita para cada réplica de leitura.

  3. Liste os backups da instância para ver o ID do backup a ser usado.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  4. Restaure a instância por meio do backup.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância
    • backup-id O ID de backup

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/restoreBackup

    Corpo JSON da solicitação:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

  5. Após a conclusão da restauração, recrie as réplicas que você excluiu antes.

Restaurar para uma instância em outro projeto

É possível usar o parâmetro project para restaurar dados para uma instância em um projeto diferente daquele em que o backup foi feito. Ao usar o parâmetro project, chame restoreBackup no projeto e na instância em que você quer restaurar os dados. Ao fazer a restauração a partir de um backup em uma instância diferente, você atualiza os dados na instância de destino para o estado em que estavam na instância de origem no momento do backup.

Permissões

O usuário que está restaurando para um projeto diferente precisa ter a permissão cloudsql.instances.restoreBackup para o projeto de destino e a permissão cloudsql.backupRuns.get para a instância de origem. Essas permissões estão incluídas no papel Cloud SQL Admin.

Para restaurar dados para uma instância em um projeto diferente, faça o seguinte:

REST v1

Para conseguir o backupId, execute o seguinte.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Restaure o backup para uma instância em um projeto diferente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • source-project-id: o ID do projeto de origem
  • target-project-id: o ID do projeto de destino
  • target-instance-id: o ID da instância de destino
  • source-instance-id: o ID da instância de origem
  • backup-id O ID de backup

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/target-project-id/instances/target-instance-id/restoreBackup

Corpo JSON da solicitação:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Para mais informações sobre a propriedade project, consulte restoreBackup

REST v1beta4

Para conseguir o backupId, execute o seguinte.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Restaure o backup para uma instância em um projeto diferente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • source-project-id: o ID do projeto de origem
  • target-project-id: o ID do projeto de destino
  • target-instance-id: o ID da instância de destino
  • source-instance-id: o ID da instância de origem
  • backup-id O ID de backup

Método HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id/instances/target-instance-id/restoreBackup

Corpo JSON da solicitação:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Para mais informações sobre a propriedade project, consulte restoreBackup

Executar uma recuperação pontual

Para executar uma recuperação pontual, consulte Recuperação pontual.

Identificar a posição de recuperação

Antes de executar uma recuperação pontual, você precisa ter identificado um nome de arquivo de registros binários e uma posição que correspondam ao momento em que você quer recuperar a instância.

Para realizar essa tarefa, consulte Como identificar a posição de recuperação.

A seguir