Como exportar dados

Nesta página, você verá como exportar dados de instâncias do Cloud SQL.

Você exporta dados do Cloud SQL para um arquivo BAK no Cloud Storage. Em seguida, importe o arquivo para outro banco de dados do SQL Server no Cloud SQL ou faça o download dele para seu ambiente local e acesse o arquivo localmente.

Para ver as práticas recomendadas para exportação de dados, consulte Práticas recomendadas para importação e exportação de dados.

Como exportar dados do Cloud SQL para um arquivo BAK

Antes de começar

Neste procedimento, é necessário exportar um arquivo para o Cloud Storage. Para exportar dados para o Cloud Storage, a conta de serviço da instância precisa ter os papéis storage.objectAdmin do IAM definidos no projeto. Para receber ajuda com os papéis do IAM, consulte Cloud Identity and Access Management para Cloud Storage.

É possível encontrar o nome da conta de serviço da instância na página Visão geral da instância no Console do Google Cloud. É possível verificar os papéis do bucket do Cloud Storage usando a ferramenta gsutil para inspecionar o bucket:

gsutil iam get gs://[BUCKET_NAME]

Saiba mais sobre como usar o IAM com buckets.

Como exportar dados para um arquivo BAK no Cloud Storage

Para exportar dados de um banco de dados em uma instância do Cloud SQL para um arquivo BAK em um bucket do Cloud Storage, siga estas instruções:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acesse a página "Instâncias" do Cloud SQL

  2. Clique na instância com os dados que você quer exportar para abrir a página Visão geral dela.
  3. Clique em EXPORTAR na barra de botões.
  4. Em Local de exportação do Cloud Storage, adicione o nome do bucket, a pasta e o arquivo que você quer exportar ou clique em Procurar para encontrar ou criar um bucket, uma pasta ou um arquivo.

    Se você clicar em Procurar, siga estas instruções:

    1. Em Local, selecione um bucket ou uma pasta do Cloud Storage para a exportação.
    2. Na caixa de texto Nome, adicione um nome para o arquivo ou, se você criou o arquivo anteriormente, selecione-o na lista em Local.

      É possível usar uma extensão de arquivo .gz para compactar o arquivo de exportação.

    3. Clique em Selecionar.
  5. Em Formato, clique em BAK.
  6. Em Banco de dados para exportação, use o menu suspenso para selecionar o banco de dados de onde você quer exportar.
  7. Clique em Exportar para iniciar a exportação.
  8. A caixa de diálogo Exportar banco de dados? será aberta com uma mensagem informando que o processo pode levar uma hora ou mais para bancos de dados grandes. Durante a exportação, a única operação que pode ser executada na instância é a visualização de informações. Não será possível interromper a exportação depois que ela for iniciada. Se for um bom momento para iniciar uma exportação, clique em EXPORTAR. Caso contrário, clique em CANCELAR.

gcloud

  1. Crie um bucket do Cloud Storage, caso ainda não tenha feito isso.

    Se precisar de ajuda para criar um bucket, consulte Como criar buckets do Storage.

  2. Faça upload do arquivo no seu bucket.

    Para ajuda sobre o upload de arquivos para buckets, consulte Como fazer o upload de um objeto.

  3. Descreva a instância usada para exportar:
      gcloud sql instances describe [INSTANCE_NAME]
      
  4. Copie o campo serviceAccountEmailAddress.
  5. Use gsutil iam para conceder o papel storage.objectAdmin do IAM à conta de serviço do bucket. Para ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  6. Exporte o banco de dados:
      gcloud beta sql export bak [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.sql.gz \
                                  --database=[DATABASE_NAME]
      

    Para informações sobre como usar o comando gcloud beta sql export bak, consulte a página de referência do comando.

  7. Se você não precisar manter o papel do IAM definido anteriormente, revogue-o agora.

REST

  1. Crie um bucket para a exportação:
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Essa etapa não é obrigatória, mas altamente recomendada para que você não abra acesso a outros dados.

  2. Forneça à instância o papel storage.objectAdmin do IAM no seu bucket. Para ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  3. Exporte o banco de dados:

    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
    • bucket_name: o nome do bucket do Cloud Storage
    • path_to_dump_file: o caminho para o arquivo de despejo SQL
    • database_name: o nome de um banco de dados dentro da instância do Cloud SQL

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Corpo JSON da solicitação:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_dump_file",
          "databases": ["database_name"]
        }
    }
    

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

    Você receberá uma resposta JSON semelhante a esta:

  4. Se você não precisar manter o papel do IAM definido anteriormente, revogue-o agora.
Para ver a lista completa de parâmetros dessa solicitação, consulte a página instances:export.

A seguir