Restaure uma instância

Esta página descreve como restaurar a sua instância a partir de uma cópia de segurança.

Para ver informações, práticas recomendadas e requisitos para operações de restauro, consulte o artigo Vista geral do restauro de uma instância.

Restaure a partir de uma cópia de segurança a pedido ou automática

Pode usar uma cópia de segurança a pedido ou automática para os seguintes cenários:

  • Restaurar para uma instância diferente no mesmo projeto
  • Restaurar para a mesma instância a partir da qual a cópia de segurança foi feita
  • Restaurar para uma instância diferente num projeto ou numa região diferente

Se tiver a recuperação num determinado momento (PITR) ativada, pode recuperar a sua instância para um momento específico, com base nas definições de retenção de registos da sua instância.

Restaurar para uma instância diferente

Quando restaura dados de uma cópia de segurança para uma instância diferente, atualiza os dados na instância de destino para o estado da instância de origem quando fez a cópia de segurança. Para mais informações, consulte os artigos Sugestões gerais sobre como fazer um restauro e Sugestões e requisitos para o restauro para uma instância diferente.

Se precisar de uma lista de cópias de segurança do projeto e não conseguir vê-las na página de vista geral da instância devido a uma indisponibilidade, pode usar a API backupRuns.list com um caráter universal (-). A opção de caráter universal obtém uma lista de todas as cópias de segurança em todas as instâncias do projeto. Para mais informações, consulte o artigo Ver cópias de segurança durante uma indisponibilidade.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a 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. para as eliminar.
  3. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  4. No menu de navegação do SQL, selecione Cópias de segurança.
  5. Encontre a cópia de segurança a partir da qual quer fazer o restauro e, de seguida, clique em Restaurar.
  6. Na página Restaure uma instância a partir de uma cópia de segurança, confirme que selecionou a cópia de segurança correta em Reveja os detalhes da cópia de segurança.
  7. Em Escolha o destino de restauro, selecione Substituir uma instância existente.
  8. No menu Instância a ser substituída, selecione a instância que quer usar para a restauração. A instância que selecionar e todos os respetivos dados são substituídos.
  9. Para confirmar a seleção, introduza o nome da instância a ser substituída no campo ID da instância de destino.
  10. Para iniciar o processo de restauro, clique em Restaurar.
  11. Para verificar o estado da operação de restauro, aceda à página Operações da instância.
  12. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

gcloud

  1. Para determinar se a instância target tem réplicas de leitura, use o comando gcloud sql instances describe:
    gcloud sql instances describe TARGET_INSTANCE_NAME

    Tenha em atenção todas as instâncias apresentadas na coluna replicaNames.

  2. Para eliminar todas as réplicas, use o comando gcloud sql instances delete:
    gcloud sql instances delete REPLICA_NAME

    Repita o processo para cada réplica.

  3. Para apresentar uma lista das cópias de segurança da instância de origem, use o comando gcloud sql backups list:
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
  4. Encontre a cópia de segurança que quer usar e registe o respetivo valor ID.
  5. Para restaurar a instância de destino a partir da cópia de segurança, use o comando gcloud sql backups restore:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
  6. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

REST v1

  1. Para determinar se a instância tem réplicas de leitura e obter os IDs destas réplicas, liste todas as réplicas da instância alvo.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  2. Elimine todas as réplicas.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

    Repita o processo para cada réplica.

  3. Para obter o ID da cópia de segurança que quer usar, liste as cópias de segurança da instância de origem.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

    -OU-

    Se a sua instância estiver numa região com uma indisponibilidade, liste todas as cópias de segurança num projeto

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • PROJECT_ID: o ID do projeto
    • INSTANCE_ID: o ID da instância ou - para uma lista de todas as cópias de segurança no projeto

    Método HTTP e URL:

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

    Para enviar o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

    Encontre a cópia de segurança da instância que precisa de restaurar.
  4. Restaure a instância de destino a partir da cópia de segurança.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 alternativo

    Método HTTP e URL:

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

    Corpo JSON do pedido:

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

    Para enviar o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

REST v1beta4

  1. Para determinar se a instância tem réplicas de leitura e obter os IDs destas réplicas, liste todas as réplicas da instância alvo.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  2. Elimine todas as réplicas.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

    Repita o processo para cada réplica.

  3. Para obter o ID da cópia de segurança que quer usar, liste as cópias de segurança da instância de origem.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Restaure a instância de destino a partir da cópia de segurança.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 alternativo

    Método HTTP e URL:

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

    Corpo JSON do pedido:

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

    Para enviar o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

Restaurar para a mesma instância

Quando restaura dados de uma cópia de segurança para a mesma instância, devolve os dados nessa instância ao estado em que se encontravam quando fez a cópia de segurança. Para ver informações sobre como restaurar uma instância, consulte Sugestões gerais sobre como fazer um restauro.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a 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. para as eliminar.
  3. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  4. No menu de navegação do SQL, selecione Cópias de segurança.
  5. Encontre a cópia de segurança que quer usar e, de seguida, clique em Restaurar.
  6. Na página Restaure uma instância a partir de uma cópia de segurança, confirme que selecionou a cópia de segurança correta em Reveja os detalhes da cópia de segurança.
  7. Em Escolha o destino da 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, introduza o nome da instância no campo ID da instância de destino.
  9. Para iniciar o processo de restauro, clique em Restaurar.
  10. Para verificar o estado da operação de restauro, aceda à página Operações da instância.
  11. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

gcloud

  1. Para determinar se a instância tem réplicas de leitura, use o comando gcloud sql instances describe:
    gcloud sql instances describe INSTANCE_NAME

    Tenha em atenção todas as instâncias apresentadas na coluna replicaNames.

  2. Para eliminar todas as réplicas, use o comando gcloud sql instances delete:
    gcloud sql instances delete REPLICA_NAME

    Repita o processo para cada réplica.

  3. Para apresentar uma lista das cópias de segurança da instância, use o comando gcloud sql backups list:
    gcloud sql backups list --instance INSTANCE_NAME
  4. Encontre a cópia de segurança que quer usar e registe o respetivo valor ID.
  5. Para restaurar a instância a partir da cópia de segurança especificada, use o comando gcloud sql backups restore:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
  6. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

REST v1

  1. Para obter o ID da cópia de segurança que quer usar, liste as cópias de segurança da instância.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  2. Restaure a instância a partir da cópia de segurança especificada.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • PROJECT_ID: o ID do projeto
    • INSTANCE_ID: o ID da instância
    • BACKUP_ID o ID alternativo

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/restoreBackup

    Corpo JSON do pedido:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_ID",
      }
    }
    

    Para enviar o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  3. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

REST v1beta4

  1. Para obter o ID da cópia de segurança que quer usar, liste as cópias de segurança da instância.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • 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 o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  2. Restaure a instância a partir da cópia de segurança especificada.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • PROJECT_ID: o ID do projeto
    • INSTANCE_ID: o ID da instância
    • BACKUP_RUN_ID: uma indicação de data e hora de quando o Cloud SQL restaura a instância a partir da cópia de segurança

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/restoreBackup

    Corpo JSON do pedido:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_RUN_ID",
      }
    }
    

    Para enviar o seu pedido, expanda uma destas opções:

    Deve receber uma resposta JSON semelhante à seguinte:

  3. Após a conclusão da operação de restauro, recrie todas as réplicas que eliminou neste procedimento.

Restaurar para uma instância noutro projeto

Pode usar o parâmetro project para restaurar dados para uma instância num projeto diferente daquele em que foi feita a cópia de segurança. Quando usar o parâmetro project, chame restoreBackup no projeto e na instância para a qual quer restaurar os dados. Quando faz o restauro a partir de uma cópia de segurança para uma instância diferente, atualiza os dados na instância de destino para o estado da instância de origem quando fez a cópia de segurança.

Autorizações

O utilizador que faz o restauro para um projeto diferente tem de ter a autorização cloudsql.instances.restoreBackup para o projeto de destino e a autorização cloudsql.backupRuns.get para a instância de origem. Estas autorizações estão incluídas na função Cloud SQL Admin.

Para restaurar dados para uma instância num projeto diferente:

gcloud

  1. Liste as cópias de segurança da instância.

    gcloud sql backups list --instance INSTANCE_NAME

    Substitua INSTANCE_NAME pelo nome da instância.

  2. Encontre a cópia de segurança que quer usar e registe o respetivo valor ID.
  3. Restaurar dados para uma instância num projeto diferente.

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME \
    --backup-project=SOURCE_INSTANCE_PROJECT

    Faça as seguintes substituições:

    • BACKUP_ID: o ID da cópia de segurança. Obteve este ID anteriormente neste procedimento.
    • TARGET_INSTANCE_NAME: a instância no projeto de destino para o qual está a restaurar dados.
    • SOURCE_INSTANCE_NAME: a instância no projeto de origem que contém os dados que quer restaurar para a instância no projeto de destino.
    • SOURCE_INSTANCE_PROJECT: o projeto que contém a instância de origem.

REST v1

Para obter o backupId, execute o seguinte.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Restaure a cópia de segurança para uma instância num projeto diferente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 alternativo

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Para mais informações acerca da propriedade project, consulte restoreBackup

REST v1beta4

Para obter o backupId, execute o seguinte.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Restaure a cópia de segurança para uma instância num projeto diferente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 alternativo

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções: