Migrar seus bancos de dados usando um arquivo físico do Percona XtraBackup

É possível migrar seus bancos de dados MySQL para o Cloud SQL usando arquivos de backup de banco de dados físico criados com o utilitário Percona XtraBackup para MySQL. A migração com arquivos de backup físico oferece melhor velocidade de restauração de dados em comparação com as migrações que usam arquivos de backup lógico. Isso as torna ideais para mover grandes bancos de dados que contêm muitos terabytes de dados.

Este fluxo de migração envolve as seguintes tarefas:

  1. Fazer backup da instância do MySQL de origem e preparar os arquivos de backup físico usando o utilitário Percona XtraBackup para MySQL.

  2. Enviar os arquivos de backup para um bucket do Cloud Storage.

  3. Criar e executar o job de migração no Database Migration Service.

    Dependendo do seu cenário, você pode criar a instância de destino por conta própria ou pedir que o Database Migration Service crie a instância de destino como parte do fluxo de criação de jobs de migração. Para mais informações, consulte a etapa Configurar e executar o job de migração.

  4. Promover o job de migração após a migração completa dos dados.

Migrações off-line

Este guia descreve cenários de migração para ambientes em que é possível garantir a conectividade de rede entre as instâncias de banco de dados de origem e de destino.

É possível realizar uma migração de teste em que o Database Migration Service não se conecta à instância de origem. Em vez disso, o Database Migration Service só lê os arquivos de backup que você faz upload para o bucket do Cloud Storage e replica o conteúdo deles para o destino do Cloud SQL para MySQL. Um fluxo de migração que não usa conectividade de rede não é recomendado para migrações de produção, porque o Database Migration Service não pode realizar a validação de dados totalmente.

Se você quiser tentar realizar um job de migração off-line, ajuste os procedimentos da seguinte maneira:

Limitações

Esta seção lista as limitações para as migrações que usam arquivos físicos do Percona XtraBackup:

  • Não é possível migrar para o MySQL 5.6 ou 8.4 com um arquivo de backup físico. Consulte Limitações conhecidas.

  • Considerações sobre várias versões:

    • Só é possível migrar dentro da mesma versão principal do banco de dados, por exemplo, do MySQL 8.0.30 para o MySQL 8.0.35 ou do MySQL 5.7.0 para o MySQL 5.7.1.
    • Não é possível migrar do MySQL 5.7 para o MySQL 8.0.

    • A migração não é suportada para versões principais ou secundárias anteriores do banco de dados. Por exemplo, não é possível migrar do MySQL 8.0 para o 5.7 ou do MySQL 8.0.36 para o 8.0.16.

  • Use o Percona XtraBackup para fazer backup dos dados para o bucket do Cloud Storage. Outros utilitários de backup não são compatíveis.

  • A migração de um arquivo físico do Percona XtraBackup só é compatível com bancos de dados MySQL locais ou autogerenciados em VM. A migração do Amazon Aurora ou do MySQL em bancos de dados do Amazon RDS não é compatível.

  • Só é possível migrar de um backup completo. Outros tipos de backup, como backups incrementais ou parciais, não são compatíveis.

  • A migração de banco de dados não inclui usuários ou privilégios dele.

  • Defina o formato do registro binário como ROW. Se você configurar o registro binário para qualquer outro formato, como STATEMENT ou MIXED, a replicação pode falhar.

  • Não é possível usar um banco de dados com uma tabela maior que 5 TB.

  • O Cloud Storage limita a 5 TB o tamanho de um arquivo que pode ser enviado para um bucket. Se o arquivo físico do Percona XtraBackup exceder 5 TB, ele precisará ser dividido em arquivos menores.

  • Faça o upload dos arquivos de backup para uma pasta dedicada do Cloud Storage que não contenha nenhum outro arquivo.

  • Você precisa configurar o parâmetro innodb_data_file_path com apenas um arquivo de dados que use o nome de arquivo de dados padrão ibdata1. Se o banco de dados estiver configurado com dois arquivos de dados ou tiver um arquivo de dados com um nome diferente, não será possível migrar o banco de dados usando um arquivo físico do Percona XtraBackup. Por exemplo, um banco de dados configurado com innodb_data_file_path=ibdata01:50M:autoextend não é compatível com a migração.

  • O parâmetro innodb_page_size na instância de origem precisa ser configurado com o valor padrão 16384.

  • Não é possível migrar plug-ins do seu banco de dados externo.

Custos

Para migrações homogêneas para o Cloud SQL, o Database Migration Service é oferecido sem custo extra. No entanto, os preços do Cloud SQL e do Cloud Storage se aplicam a cobranças de rede e a entidades do Cloud SQL e do Cloud Storage criadas para fins de migração.

Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Antes de começar

  1. Considere em qual região você quer criar o banco de dados de destino. O Database Migration Service é um produto totalmente regional, ou seja, todas as entidades relacionadas à migração (perfis de conexão de origem e destino, jobs de migração, bancos de dados de destino e buckets de armazenamento) precisam ser salvos em uma única região.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

Funções exigidas

Para receber as permissões necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físicos, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físicos. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físicos:

  • Conta de usuário que realiza a migração:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Etapa 1. Considere seus requisitos de conectividade de rede

Há diferentes métodos de rede que podem ser usados para configurar a conectividade entre a origem e as instâncias de destino do Cloud SQL. Dependendo do método usado, talvez seja necessário realizar outras etapas durante o processo de migração.

Considere qual método de conectividade é adequado para seu cenário antes de prosseguir para as próximas etapas, já que sua escolha pode afetar as configurações que você precisa usar. Para mais informações, consulte Configurar a conectividade.

Etapa 2. Preparar os dados de origem

Para preparar os dados para migração, siga estas etapas:

  1. Instale a versão correta do utilitário Percona XtraBackup na sua instância de origem. Use uma versão do Percona XtraBackup igual ou mais recente que a versão da instância de origem. Para mais informações, consulte Comparação entre versões de servidor e de backup na documentação do Percona XtraBackup.
  2. Exporte e prepare o arquivo de backup físico da sua instância de origem usando o Percona XtraBackup. Para informações completas sobre como usar o Percona XtraBackup, consulte a documentação da ferramenta. Você também pode abrir a seção a seguir para conferir um exemplo de etapas recomendadas.

    Exemplo de etapas recomendadas para criar e preparar arquivos de backup físico usando o Percona XtraBackup

    Antes de usar os dados do comando abaixo, faça as seguintes substituições:

    • TARGET_DIR com o caminho em que você quer salvar o arquivo de backup de saída.
    • USERNAME com um usuário que tenha o privilégio BACKUP_ADMIN na instância de origem.
    • PASSWORD pela senha da conta USERNAME.
    1. Faça um backup físico completo da sua instância de origem. Execute o seguinte comando:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. Quando o arquivo de backup estiver pronto, use o comando --prepare para garantir a consistência do arquivo. Execute este comando:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Crie o bucket para armazenar os arquivos de backup. Use a mesma região em que você pretende criar a instância de destino do Cloud SQL para MySQL.

    O Database Migration Service é um produto totalmente regional, ou seja, todas as entidades relacionadas à migração (perfis de conexão de origem e destino, jobs de migração, bancos de dados de destino, buckets de armazenamento para arquivos de backup) precisam ser salvas em uma única região.

  4. Faça upload dos arquivos de backup no bucket do Cloud Storage. Faça o upload dos arquivos de backup para uma pasta dedicada do Cloud Storage que não contenha nenhum outro arquivo. Consulte Fazer upload de objetos de um sistema de arquivos na documentação do Cloud Storage.
  5. Crie o perfil de conexão de origem para a instância do banco de dados de origem.

    Console

    Para criar um perfil de conexão de origem, siga estas etapas:

    1. Acesse a página Perfis de conexão no console Google Cloud .
    2. Clique em Create profile.
    3. Na página Criar um perfil de conexão, no menu suspenso Mecanismo de banco de dados, selecione MySQL.
    4. No campo Nome do perfil de conexão, insira um nome legível por humanos para o perfil de conexão. Esse valor aparece na lista de perfis de conexão.
    5. Mantenha o ID do perfil de conexão gerado automaticamente.
    6. Insira um Nome do host ou um endereço IP.
      • Se o banco de dados de origem estiver hospedado no Google Cloud, ou se um túnel SSH reverso for usado para conectar o banco de dados de destino ao de origem, especifique o endereço IP particular (interno) do banco de dados de origem. Esse endereço será acessível pelo destino do Cloud SQL. Para mais informações, consulte Configurar a conectividade usando o peering da VPC.

        Para outros métodos de conectividade, como lista de permissões de IP, informe o endereço IP público.

    7. Insira a porta usada para acessar o host. A porta padrão do MySQL é 3306.
    8. Digite um nome de usuário e uma senha para o banco de dados de destino. A conta de usuário precisa ter os privilégios necessários para acessar seus dados. Para mais informações, consulte Configurar seu banco de dados de origem.
    9. Na seção Região do perfil de conexão da página, selecione a região em que você quer salvar o perfil de conexão.
    10. Opcional: se a conexão for feita por uma rede pública (usando listas de permissões de IP), recomendamos o uso de criptografia SSL/TLS para a conexão entre os bancos de dados de origem e de destino.

      Há três opções para a configuração SSL/TLS que podem ser selecionadas na seção Proteger a conexão da página:

      1. Nenhuma: a instância de destino do Cloud SQL se conecta ao banco de dados de origem sem criptografia.
      2. Autenticação somente do servidor: quando a instância de destino do Cloud SQL se conecta ao banco de dados de origem, ela autentica a origem, garantindo que a instância se conecte ao host correto com segurança. Isso evita ataques de pessoa no meio. Para autenticação somente de servidor, a origem não autentica a instância.

        Para usar a autenticação somente de servidor, você precisa fornecer o certificado x509 codificado por PEM da autoridade de certificação (AC) que tenha assinado o certificado do servidor externo.

      3. Autenticação servidor-cliente: quando a instância de destino se conecta à origem, ela autentica a origem e a origem autentica a instância.

        A autenticação cliente-servidor proporciona a segurança mais forte. No entanto, se você não quiser fornecer o certificado de cliente e a chave privada ao criar a instância de destino do Cloud SQL, ainda poderá usar a autenticação somente de servidor.

        Para usar a autenticação servidor-cliente, é necessário informar os seguintes itens ao criar o perfil de conexão de destino:

        • O certificado da autoridade de certificação que assinou o certificado do servidor de banco de dados de origem (o certificado da CA).
        • O certificado usado pela instância para autenticação no servidor de banco de dados de origem (o certificado do cliente)
        • A chave privada associada ao certificado do cliente (a chave do cliente).
    11. Clique em Criar. Seu perfil de conexão foi criado.

    gcloud

    Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
    • REGION pelo identificador da região em que você quer salvar o perfil de conexão.
    • HOST_IP_ADDRESS com o endereço IP em que o Database Migration Service pode acessar a instância de banco de dados de origem. Esse valor pode variar dependendo do método de conectividade usado na migração.
    • PORT_NUMBER com o número da porta em que o banco de dados de origem aceita conexões de entrada. A porta padrão do MySQL é 3306.
    • USERNAME com o nome da conta de usuário do banco de dados que você quer que o Database Migration Service se conecte à instância de banco de dados de origem.
    • PASSWORD pela senha da conta de usuário do banco de dados.
    • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para humanos para o perfil de conexão. Esse valor é exibido no console do Google Cloud.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration connection-profiles \
    create mysql CONNECTION_PROFILE_ID \
      --no-async \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --display-name=CONNECTION_PROFILE_NAME

    Você receberá uma resposta semelhante a esta:

    Waiting for connection profile [CONNECTION_PROFILE_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
    

Etapa 3. Configurar e executar o job de migração

Ao migrar com o Percona XtraBackup, talvez você queira criar a instância de destino do Cloud SQL por conta própria ou pedir que o Database Migration Service faça isso por você. Para mais informações, consulte Visão geral da criação de jobs de migração.

Cada uma dessas abordagens exige que você siga um conjunto de procedimentos um pouco diferente. Use o menu suspenso para mostrar os procedimentos relevantes para seu cenário:

  • Se você quiser que o Database Migration Service crie o banco de dados de destino, selecione Migrar para uma nova instância de destino.
  • Se você quiser migrar para um banco de dados de destino criado fora do Database Migration Service, selecione Migrar para uma instância de destino existente.

  • Quando você migra para uma nova instância de destino, o Database Migration Service cria a instância de destino do Cloud SQL para MySQL durante o fluxo de criação de jobs de migração.

    Etapa 3a. Criar o job de migração para uma nova instância de destino

    Para criar um job de migração para uma nova instância de destino, siga estas etapas:

    Console

    Definir configurações para o job de migração

    1. No console do Google Cloud, acesse a página Jobs de migração.

      Acessar "Jobs de migração"

    2. Clique em Criar job de migração.

      A página do assistente de configuração do job de migração é aberta. Esse assistente contém vários painéis que orientam você em cada etapa da configuração.

      É possível pausar a criação de um job de migração a qualquer momento clicando em SALVAR E SAIR. Todos os dados inseridos até esse ponto são salvos em um job de migração de rascunho. Você pode concluir o job de migração de rascunho mais tarde.

    3. Na página Começar, digite as seguintes informações:
      1. Nome do job de migração

        É um nome legível para humanos do seu job de migração. Esse valor é exibido no console do Google Cloud.

      2. ID do job de migração

        Esse é um identificador legível por máquina do job de migração. Use esse valor para trabalhar com jobs de migração usando a API ou os comandos da CLI do Google Cloud para o Database Migration Service.

      3. Na lista Mecanismo de banco de dados de origem, selecione MySQL.

        O campo Mecanismo do banco de dados de destino é preenchido automaticamente e não pode ser alterado.

      4. Selecione a região em que você vai salvar o job de migração.

        O Database Migration Service é um produto totalmente regional, ou seja, todas as entidades relacionadas à migração (perfis de conexão de origem e de destino, jobs de migração, bancos de dados de destino) precisam ser salvas em uma única região. Selecione a região com base na localização dos serviços que precisam dos seus dados, como instâncias do Compute Engine ou apps do App Engine, entre outros serviços. Depois de escolher a região de destino, essa seleção não poderá ser alterada.

    4. Clique em Salvar e continuar.

    Especificar informações sobre o perfil de conexão de origem

    1. Na página Definir uma origem, siga estas etapas:
      1. No menu suspenso Perfil de conexão de origem, selecione o perfil de conexão do seu banco de dados de origem.
      2. Na seção Customize full dump configuration, clique em Edit configuration.
      3. No painel Editar configuração de despejo completo, no menu suspenso Método de despejo completo, selecione Com base no físico.
      4. Em Provide your folder, clique em Browse e selecione a pasta em que você fez o upload do arquivo dump completo (etapa 3 na seção Prepare your source data).
      5. Clique em Salvar.
    2. Clique em Salvar e continuar.

    Configurar e criar a instância de destino do Cloud SQL

    1. Na página Definir um destino, no menu suspenso Tipo de instância de destino, selecione Nova instância. Defina todas as configurações relevantes:
      1. No campo ID da instância de destino, forneça um identificador para a instância do Cloud SQL ou use o identificador gerado automaticamente.

        Não inclua informações sensíveis ou de identificação pessoal no identificador. Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, (por exemplo, nos arquivos de registro).

      2. No campo Senha, forneça uma senha alfanumérica para a instância do Cloud SQL de destino. Esta é a senha da conta de administrador root na instância.

        Insira a senha manualmente ou clique em Gerar para que o Database Migration Service crie uma senha automaticamente.

      3. No menu suspenso Versão do banco de dados, escolha a versão do banco de dados para a instância de destino.

        Clique em Mostrar versões secundárias para conferir todas as versões secundárias. Saiba mais sobre o suporte à migração entre versões.

      4. Selecione a edição do Cloud SQL para MySQL para a instância de destino. Há duas opções disponíveis: Cloud SQL para MySQL edição Enterprise e Cloud SQL para MySQL edição Enterprise Plus.

        As edições do Cloud SQL para MySQL vêm com diferentes conjuntos de recursos, tipos de máquina disponíveis e preços. Consulte a documentação do Cloud SQL para escolher a edição adequada às suas necessidades. Para mais informações, consulte Introdução às edições do Cloud SQL para MySQL.

      5. O menu Região mostra a mesma região selecionada na página Começar.

        Se você estiver configurando a instância para alta disponibilidade, selecione Várias zonas (altamente disponível). É possível selecionar a zona principal e a secundária. As condições a seguir se aplicam quando a zona secundária é usada durante a criação da instância:

        • A zona padrão é Qualquer para a zona principal e Qualquer (diferente da primária) para a zona secundária.
        • Se as zonas primária e secundária forem especificadas, elas precisarão ser diferentes.
      6. Na seção Conexões, escolha se você quer adicionar um endereço IP público ou particular para a instância de destino. É possível configurar a instância para ter os dois tipos de endereços IP, mas pelo menos um tipo é necessário para a migração. Selecione uma das seguintes opções:
        • Se você quiser migrar usando o peering de VPC ou um túnel SSH reverso, selecione IP privado.
          • Para ativar a conectividade de IP particular, atenda a todos os requisitos de rede adicionais.

            Abra esta seção para conferir os requisitos completos de IP particular.

          • Selecione a rede VPC associada ao par. Se você planeja se conectar à origem da migração usando o peering de VPC, escolha a VPC em que a instância está localizada.
          • Se uma rede de serviço gerenciado nunca foi configurada para a VPC selecionada, você pode selecionar um intervalo de IP e clicar em Conectar ou usar um intervalo de IP selecionado automaticamente e clicar em Alocar e conectar.
        • Se você quiser migrar pela Internet usando uma lista de permissões de IP, selecione IP público.

          Opcionalmente, em IP público, clique no campo Redes autorizadas e autorize uma rede ou um proxy a se conectar à instância do Cloud SQL. As redes só são autorizadas com os endereços que você fornece. Consulte Configurar IP público na documentação do Cloud SQL.

        Você vai configurar a conectividade do job de migração em uma etapa posterior. Para saber mais sobre os métodos de rede disponíveis, consulte Configurar a conectividade.

    2. Selecione o tipo de máquina para a instância do Cloud SQL. O tamanho do disco precisa ser igual ou maior que o tamanho do banco de dados de origem. Saiba mais sobre os tipos de máquina do MySQL.
    3. Para a edição Enterprise Plus do Cloud SQL para MySQL: selecione a caixa de seleção Ativar cache de dados se quiser usar o recurso de cache de dados no banco de dados de destino.

      O cache de dados é um recurso opcional disponível para instâncias do Cloud SQL para MySQL Enterprise Plus que adiciona uma unidade de estado sólido local de alta velocidade ao banco de dados de destino. Esse recurso pode gerar custos adicionais no Cloud SQL. Para mais informações sobre o cache de dados, consulte Visão geral do cache de dados na documentação do Cloud SQL.

    4. Especifique o tipo de armazenamento da instância do Cloud SQL. Você pode escolher uma unidade de estado sólido (SSD) ou uma unidade de disco rígido (HDD).
    5. Especifique a capacidade de armazenamento (em GB) da instância do Cloud SQL.

      Verifique se a instância tem capacidade de armazenamento suficiente para processar os dados do banco de dados de origem. É possível aumentar essa capacidade a qualquer momento, mas não é possível diminuí-la.

    6. (Opcional) Configure as opções de criptografia de dados ou os rótulos de recursos para a instância de destino.

      Abra esta seção para conferir as etapas opcionais.

      Clique em Mostrar configurações opcionais e faça o seguinte:

      1. Especifique se você quer gerenciar a criptografia dos dados migrados da origem para o destino. Por padrão, seus dados são criptografados com uma chave gerenciada pelo Google Cloud. Se você quiser gerenciar a criptografia, use uma chave de criptografia gerenciada pelo cliente (CMEK). Para fazer isso, siga estas etapas:

        1. Marque a caixa de seleção Usar uma chave de criptografia gerenciada pelo cliente (CMEK).
        2. No menu Selecionar uma chave gerenciada pelo cliente, selecione a CMEK.

        Se você não encontrar sua chave, clique em Inserir nome de recurso de chave para informar o nome de recurso da chave que você quer usar. Exemplo de nome de recurso de chave: projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key.

      2. Adicione as flags necessárias para serem aplicadas ao servidor de banco de dados. Se possível, verifique se as flags do banco de dados na instância de destino do Cloud SQL criada são as mesmas que estão no banco de dados de origem. Saiba mais sobre as flags de banco de dados compatíveis com o MySQL.
      3. Adicione rótulos específicos da instância do Cloud SQL.

        Os rótulos ajudam a organizar as instâncias. Por exemplo, é possível organizar rótulos por centro de custo ou ambiente. Os rótulos também são incluídos na fatura para que você confira a distribuição de custos entre eles.

    7. Clique em Criar destino e continuar. O Database Migration Service está criando a instância de destino do Cloud SQL. Esse processo pode levar vários minutos.

    Configurar a conectividade entre as instâncias de banco de dados de origem e de destino

    No menu suspenso Método de conectividade, selecione um método de conectividade de rede. Esse método define como a instância do Cloud SQL recém-criada se conectará ao banco de dados de origem. Os métodos de conectividade de rede atuais incluem lista de permissões de IP, túnel SSH reverso e peering de VPC.

    Se você quiser usar...Faça o seguinte:
    O método de conectividade de rede da lista de permissões de IP, É necessário especificar o endereço IP de saída da instância de destino. Se a instância do Cloud SQL criada for de alta disponibilidade, inclua os endereços IP de saída da instância principal e da secundária.
    O método de conectividade de rede do túnel SSH reverso, Você precisa selecionar a instância de VM do Compute Engine que vai hospedar o túnel.

    Depois de especificar a instância, o Google vai fornecer um script que executa as etapas de configuração do túnel entre os bancos de dados de origem e de destino. Você vai precisar executar o script na Google Cloud CLI.

    Execute os comandos em uma máquina com conectividade ao banco de dados de origem e ao Google Cloud.

    O método de conectividade de rede de peering de VPC, Você precisa selecionar a rede VPC em que o banco de dados de origem está localizado. A instância do Cloud SQL será atualizada para se conectar a essa rede.

    Depois de selecionar e configurar a conectividade de rede, clique em Configurar e continuar.

    Criar o job de migração

    Em Testar e criar um job de migração, verifique as configurações do job de migração. Nesse ponto, o teste do job de migração vai falhar, porque a conta de serviço associada à instância de destino do Cloud SQL não tem as permissões necessárias.

    Antes de testar o job, realize uma das seguintes ações para validar a configuração:

    • Se você quiser testar o job de migração usando o console do Google Cloud depois de atribuir as permissões à conta de serviço da instância de destino, clique em Salvar e sair. Essa ação salva o job de migração como rascunho. Você pode voltar a esta tela mais tarde, testar e executar o job de migração.
    • Se você quiser testar o job de migração usando a Google Cloud CLI depois de atribuir as permissões à conta de serviço da instância de destino,clique em Criar. Com a CLI do Google Cloud, é possível testar um job de migração que foi criado, mas ainda não foi iniciado.

    gcloud

    1. Crie o perfil de conexão de destino.
      Ao migrar para uma nova instância de destino com a Google Cloud CLI, você cria a instância de destino e o perfil de conexão em uma única ação.
      Execute o comando abaixo (clique no link para expandir):

      gcloud database-migration connection-profiles create cloudsql

      Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
      • DATABASE_VERSION com a versão do MySQL que você quer usar na instância de destino. As versões do banco de dados são especificadas como strings que incluem a versão principal e secundária. Por exemplo: MYSQL_8_0, MYSQL_8_0_32, MYSQL_8_0_36.

        Para todas as versões possíveis do MySQL, consulte a referência da flag --database-version.

      • (Opcional) EDITION Por padrão, as novas instâncias criadas com a Google Cloud CLI usam o Cloud SQL para MySQL Enterprise Plus. Se você planeja usar o Cloud SQL para MySQL Enterprise Plus, verifique se a região tem suporte a essa edição. Consulte Suporte de região do Cloud SQL para MySQL Enterprise Plus.

        É possível mudar a edição usando a flag --edition com um dos seguintes valores:

        • enterprise-plus para a edição do Cloud SQL para MySQL Enterprise Plus
        • enterprise para a edição do Cloud SQL para MySQL Enterprise
      • TIER pelo nome do tipo de máquina do Cloud SQL que você quer usar. Os tipos de máquina são especificados como strings que seguem a convenção do Cloud SQL, por exemplo, db-n1-standard-1, db-perf-optimized-N-2. Para conferir uma lista completa dos tipos de máquina disponíveis e os identificadores deles para uso com a Google Cloud CLI, consulte Tipos de máquina na documentação do Cloud SQL para MySQL.

        As instâncias criadas com a Google Cloud CLI usam, por padrão, o Cloud SQL para MySQL Enterprise Plus, que tem diferentes tipos de máquina disponíveis. Se você quiser usar um tipo de máquina disponível apenas na edição Enterprise do Cloud SQL para MySQL, use a flag --edition=enterprise opcional para especificar a edição.

      • REGION pelo identificador da região em que você quer salvar o perfil de conexão.

        Por padrão, as novas instâncias criadas com a Google Cloud CLI usam o Cloud SQL para MySQL Enterprise Plus. Se você planeja usar o Cloud SQL para MySQL Enterprise Plus, verifique se a região tem suporte a essa edição. Consulte Suporte de região do Cloud SQL para MySQL Enterprise Plus. É possível mudar a edição usando a flag --edition opcional.

      • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para humanos para o perfil de conexão. Esse valor é exibido no console do Google Cloud.
      • Configuração de rede

        Por padrão, as novas instâncias criadas com a Google Cloud CLI têm um endereço IP público atribuído e são configuradas para usar conectividade de IP público. É possível usar outros métodos de conectividade. Para mais informações, consulte Configurar a conectividade.

        Não é necessário usar flags adicionais se você quiser usar a conectividade de IP público. Se você quiser usar a conectividade de IP particular com o peering de rede VPC ou um túnel SSH reverso, verifique se atende aos seguintes requisitos de rede para ativar a conectividade de IP particular e inclua flags adicionais no comando.

        Abra esta seção para conferir os requisitos completos de IP particular.

        Inclua as flags adicionais abaixo se você quiser usar a conectividade de IP particular com o VPC Network Peering ou com um túnel SSH reverso em uma VM do Compute Engine:

        • --no-enable-ip-v4: (opcional) para não atribuir um endereço IP público à instância de destino. É possível atribuir um endereço IP público e um endereço IP particular à instância de destino, mas talvez não seja necessário um endereço IP público se você usar a conectividade de IP particular.
        • --private-network: para atribuir um endereço IP particular à instância de destino, especifique o nome da nuvem privada virtual em que você quer que um endereço IP particular seja atribuído.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --display-name=CONNECTION_PROFILE_NAME

      Você receberá uma resposta semelhante a esta:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      
    2. Conclua a configuração da rede.

      Dependendo da conectividade de rede que você quer usar, talvez seja necessário seguir outras etapas antes de criar o job de migração.

    3. Crie o job de migração.
      Execute o comando a seguir (clique no link para expandir):

      gcloud database-migration migration-jobs create

      Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • MIGRATION_JOB_ID com um identificador legível por máquina para o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou a API do Database Migration Service.
      • REGION pelo identificador da região em que você quer salvar o job de migração.
      • MIGRATION_JOB_NAME com um nome legível para humanos para o job de migração. Esse valor é exibido no Database Migration Service no console do Google Cloud.
      • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
      • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
      • MIGRATION_JOB_TYPE com o tipo de job de migração. Dois valores são permitidos: ONE_TIME ou CONTINUOUS. Para mais informações, consulte Tipos de migração.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES com o caminho para os arquivos de backup físicos armazenados em uma pasta em um bucket do Cloud Storage. Use o seguinte formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuração de rede

        Se você usar a conectividade de IP particular com o peering de rede VPC ou um túnel SSH reverso, adicione as flags a seguir ao comando:

        Conectividade de IP particular com o peering de rede VPC
        Use a flag --peer-vpc para especificar o nome da rede com que você quer fazer peering.
        Túnel SSH reverso em uma VM do Compute Engine
        Use as flags a seguir para fornecer detalhes de rede para o Compute Engine: --vm-ip, --vm-port, --vpc. Também é possível usar a flag opcional --vm para especificar o nome da VM.

        Para mais exemplos de uso, consulte Exemplos da Google Cloud CLI.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Você receberá uma resposta semelhante a esta:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      

    Etapa 3b. Conceda as permissões necessárias à conta de serviço da instância do Cloud SQL

    Quando você cria o job de migração para uma nova instância, o Database Migration Service também cria a instância de destino do Cloud SQL. Antes de executar a migração, é necessário atribuir permissões do Cloud Storage à conta de serviço da instância.

    Para conceder as permissões do Cloud Storage à conta de serviço associada à instância de destino, siga estas etapas:

    1. Encontre o endereço de e-mail da conta de serviço da instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esse endereço usa o seguinte formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulte Confira informações da instância na documentação do Cloud SQL.
    2. Adicione o papel do IAM de Leitor de objetos do Storage (roles/storage.objectViewer) à conta de serviço. Para saber como gerenciar o acesso com o Identity and Access Management, consulte Gerenciar o acesso a projetos, pastas e organizações na documentação do IAM.

    Etapa 3c. (Opcional) Testar o job de migração

    Antes de executar o job de migração, é possível realizar uma operação de teste para verificar se o Database Migration Service pode alcançar todas as entidades de origem e destino necessárias. Com a CLI gcloud, é possível testar jobs de migração que foram criados, mas ainda não iniciados.

    Console

    No console do Google Cloud, só é possível testar jobs de migração de rascunho criados no assistente de criação de jobs de migração. Se você não salvou o job como rascunho, mas o criou totalmente no assistente, só será possível realizar o teste usando a Google Cloud CLI.

    Para testar um job de migração de rascunho, siga estas etapas:

    1. No console do Google Cloud, acesse a página Jobs de migração.

      Acessar "Jobs de migração"

    2. Na guia Rascunhos, clique no nome de exibição do job de migração que você quer terminar de criar.

      O assistente de criação de jobs de migração é aberto.

    3. Na página Testar e criar um job de migração, clique em Testar job. O Database Migration Service agora verifica se a instância de destino tem todas as permissões necessárias e se pode se conectar ao banco de dados de origem.
    4. Quando o teste terminar, clique em Criar.

      O job de migração foi criado e está pronto para ser iniciado.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • MIGRATION_JOB_ID pelo identificador do job de migração.

      Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores.

    • REGION com o identificador da região em que o perfil de conexão é salvo.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration migration-jobs \
    verify MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    verify MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    verify MIGRATION_JOB_ID ^
      --region=REGION

    Resultado

    A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: verify
    name: OPERATION_ID
    

    Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

    Etapa 3d. Iniciar o job de migração

    Quando o job de migração for totalmente criado (ou seja, não estiver salvo em um rascunho), você poderá iniciá-lo a qualquer momento para começar a migrar dados.

    Para iniciar um job de migração, siga estas etapas:

    Console

    1. No console do Google Cloud, acesse a página Jobs de migração.

      Acessar "Jobs de migração"

    2. Na guia Jobs, clique no nome de exibição do job de migração que você quer iniciar.

      A página de detalhes do job de migração é aberta.

    3. Clique em Iniciar.
    4. Na caixa de diálogo, clique em Iniciar.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • MIGRATION_JOB_ID pelo identificador do job de migração.

      Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores.

    • REGION com o identificador da região em que o perfil de conexão é salvo.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION

    Resultado

    A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:


  • Para migrar para uma instância de destino existente, primeiro você precisa criar e configurar a instância de destino.

    Etapa 3a. Preparar a instância de destino

    Para configurar a instância de destino do Cloud SQL, siga estas etapas:

    1. Crie a instância de destino do Cloud SQL para MySQL. Verifique se você usa recursos de computação e memória suficientes para atender às suas necessidades de migração. Consulte Criar uma instância na documentação do Cloud SQL.

      Dependendo do método de conectividade que você quer usar para a migração, talvez seja necessário adicionar um endereço IP público ou privado à instância de destino. Para mais informações sobre os métodos de conectividade, consulte Configurar a conectividade.

    2. Conceda as permissões do Cloud Storage à conta de serviço associada à instância de destino. Essa conta é criada após a criação da instância de destino.
      1. Encontre o endereço de e-mail da conta de serviço da instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esse endereço usa o seguinte formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulte Conferir informações da instância na documentação do Cloud SQL.
      2. Adicione o papel do IAM de Leitor de objetos do Storage (roles/storage.objectViewer) à conta de serviço. Para saber como gerenciar o acesso com o Identity and Access Management, consulte Gerenciar o acesso a projetos, pastas e organizações na documentação do IAM.
    3. Crie um perfil de conexão de destino para sua instância do Cloud SQL.

      Console

      Não é necessário criar o perfil de conexão de destino. Ao criar um job de migração no console do Google Cloud, você usa o identificador da instância de destino, e o Database Migration Service gerencia o perfil de conexão.

      Siga para a seção Criar e executar o job de migração.

      gcloud

      Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
      • REGION pelo identificador da região em que você quer salvar o perfil de conexão.
      • DESTINATION_INSTANCE_ID pelo identificador da instância de destino.
      • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para humanos para o perfil de conexão. Esse valor é exibido no console do Google Cloud.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --cloudsql-instance=DESTINATION_INSTANCE_ID \
        --region=REGION \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --cloudsql-instance=DESTINATION_INSTANCE_ID `
        --region=REGION `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --cloudsql-instance=DESTINATION_INSTANCE_ID ^
        --region=REGION ^
        --display-name=CONNECTION_PROFILE_NAME

      Você receberá uma resposta semelhante a esta:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      

    Etapa 3b. Criar e executar o job de migração

    Console

    Definir configurações para o job de migração

    1. No console do Google Cloud, acesse a página Jobs de migração.

      Acessar "Jobs de migração"

    2. Clique em Criar job de migração.

      A página do assistente de configuração do job de migração é aberta. Esse assistente contém vários painéis que orientam você em cada etapa da configuração.

      É possível pausar a criação de um job de migração a qualquer momento clicando em SALVAR E SAIR. Todos os dados inseridos até esse ponto são salvos em um job de migração de rascunho. Você pode concluir o job de migração de rascunho mais tarde.

    3. Na página Começar, digite as seguintes informações:
      1. Nome do job de migração

        É um nome legível para humanos do seu job de migração. Esse valor é exibido no console do Google Cloud.

      2. ID do job de migração

        Esse é um identificador legível por máquina do job de migração. Use esse valor para trabalhar com jobs de migração usando a API ou os comandos da CLI do Google Cloud para o Database Migration Service.

      3. Na lista Mecanismo de banco de dados de origem, selecione MySQL.

        O campo Mecanismo do banco de dados de destino é preenchido automaticamente e não pode ser alterado.

      4. Selecione a região em que você vai salvar o job de migração.

        O Database Migration Service é um produto totalmente regional, ou seja, todas as entidades relacionadas à migração (perfis de conexão de origem e de destino, jobs de migração, bancos de dados de destino) precisam ser salvas em uma única região. Selecione a região com base na localização dos serviços que precisam dos seus dados, como instâncias do Compute Engine ou apps do App Engine, entre outros serviços. Depois de escolher a região de destino, essa seleção não poderá ser alterada.

    4. Clique em Salvar e continuar.

    Especificar informações sobre o perfil de conexão de origem

    1. Na página Definir uma origem, siga estas etapas:
      1. No menu suspenso Perfil de conexão de origem, selecione o perfil de conexão do seu banco de dados de origem.
      2. Na seção Customize full dump configuration, clique em Edit configuration.
      3. No painel Editar configuração de despejo completo, no menu suspenso Método de despejo completo, selecione Com base no físico.
      4. Em Provide your folder, clique em Browse e selecione a pasta em que você fez o upload do arquivo dump completo (etapa 4 na seção Prepare your source data).
      5. Clique em Salvar.
    2. Clique em Salvar e continuar.

    Selecione a instância do Cloud SQL de destino

    1. No menu Type of destination instance, selecione Existing instance.
    2. Na seção Selecionar instância de destino, selecione sua instância de destino.
    3. Revise as informações na seção Detalhes da instância e clique em Selecionar e continuar.
    4. Para migrar para um banco de dados de destino existente, o Database Migration Service rebaixa a instância de destino e a converte em uma réplica. Para indicar que a redução pode ser realizada com segurança, na janela de confirmação, insira o identificador da instância de destino.
    5. Clique em Confirmar e continuar.

    Configurar a conectividade entre as instâncias de banco de dados de origem e de destino

    No menu suspenso Método de conectividade, selecione um método de conectividade de rede. Esse método define como a instância do Cloud SQL recém-criada se conectará ao banco de dados de origem. Os métodos de conectividade de rede atuais incluem lista de permissões de IP, túnel SSH reverso e peering de VPC.

    Se você quiser usar...Faça o seguinte:
    O método de conectividade de rede da lista de permissões de IP, É necessário especificar o endereço IP de saída da instância de destino. Se a instância do Cloud SQL criada for de alta disponibilidade, inclua os endereços IP de saída da instância principal e da secundária.
    O método de conectividade de rede do túnel SSH reverso, Você precisa selecionar a instância de VM do Compute Engine que vai hospedar o túnel.

    Depois de especificar a instância, o Google vai fornecer um script que executa as etapas de configuração do túnel entre os bancos de dados de origem e de destino. Você vai precisar executar o script na Google Cloud CLI.

    Execute os comandos em uma máquina com conectividade ao banco de dados de origem e ao Google Cloud.

    O método de conectividade de rede de peering de VPC, Você precisa selecionar a rede VPC em que o banco de dados de origem está localizado. A instância do Cloud SQL será atualizada para se conectar a essa rede.

    Depois de selecionar e configurar a conectividade de rede, clique em Configurar e continuar.

    Testar, criar e executar o job de migração

    Nesta etapa final, revise o resumo das configurações do job de migração, a origem, o destino e o método de conectividade e teste a validade da configuração do job de migração. Se houver algum problema, modifique as configurações do job de migração. Nem todas as configurações podem ser editadas.

    1. Na página Testar e criar um job de migração, clique em Testar job.

      Se o teste falhar, você pode resolver o problema na parte do fluxo destinada a isso e refazer o teste. Para informações sobre a solução de problemas de um teste de job de migração com falha, consulte Diagnosticar problemas do MySQL.

    2. Quando o teste do job de migração terminar, clique em Criar e iniciar job.

      Sua migração está em andamento. Quando você inicia o job de migração, o Database Migration Service começa o despejo completo, bloqueando brevemente o banco de dados de origem.

    gcloud

    Para configurar e executar a migração, siga estas etapas:

    1. Crie o job de migração.
      Execute o comando a seguir (clique no link para expandir):

      gcloud database-migration migration-jobs create

      Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • MIGRATION_JOB_ID com um identificador legível por máquina para o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou a API do Database Migration Service.
      • REGION pelo identificador da região em que você quer salvar o job de migração.
      • MIGRATION_JOB_NAME com um nome legível para humanos para o job de migração. Esse valor é exibido no Database Migration Service no console do Google Cloud.
      • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
      • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
      • MIGRATION_JOB_TYPE com o tipo de job de migração. Dois valores são permitidos: ONE_TIME ou CONTINUOUS. Para mais informações, consulte Tipos de migração.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES com o caminho para os arquivos de backup físicos armazenados em uma pasta em um bucket do Cloud Storage. Use o seguinte formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuração de rede

        Se você usar a conectividade de IP particular com o peering de rede VPC ou um túnel SSH reverso, adicione as flags a seguir ao comando:

        Conectividade de IP particular com o peering de rede VPC
        Use a flag --peer-vpc para especificar o nome da rede com que você quer fazer peering.
        Túnel SSH reverso em uma VM do Compute Engine
        Use as flags a seguir para fornecer detalhes de rede para o Compute Engine: --vm-ip, --vm-port, --vpc. Também é possível usar a flag opcional --vm para especificar o nome da VM.

        Para mais exemplos de uso, consulte Exemplos da Google Cloud CLI.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Você receberá uma resposta semelhante a esta:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      
    2. Rebaixe a instância de destino do Cloud SQL.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs demote-destination

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • MIGRATION_JOB_ID pelo identificador do job de migração.

        Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores.

      • REGION com o identificador da região em que o perfil de conexão é salvo.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      demote-destination MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      demote-destination MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      demote-destination MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: demote-destination
      name: OPERATION_ID
      

      Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

    3. (Opcional) Executar um teste de job de migração
      É possível executar uma verificação para verificar se o Database Migration Service pode alcançar todas as entidades de origem e destino necessárias. Execute o comando a seguir (clique no link para expandir):

      gcloud database-migration migration-jobs verify

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • MIGRATION_JOB_ID pelo identificador do job de migração.

        Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores.

      • REGION com o identificador da região em que o perfil de conexão é salvo.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      verify MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      verify MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      verify MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: verify
      name: OPERATION_ID
      

      Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

    4. Iniciar o job de migração.
      Faça o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs start

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • MIGRATION_JOB_ID pelo identificador do job de migração.

        Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores.

      • REGION com o identificador da região em que o perfil de conexão é salvo.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      start MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      start MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      start MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: start
      name: OPERATION_ID
      

      Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

      Quando você inicia o job de migração, a instância de destino do Cloud SQL é colocada em modo somente leitura, totalmente gerenciada pelo Database Migration Service. Você pode promover o job para uma instância independente quando os dados forem totalmente migrados.

      Observação: é possível monitorar o progresso da migração e a integridade da instância de destino com os recursos de observabilidade do Database Migration Service. Consulte [Métricas de jobs de migração](/database-migration/docs/mysql/migration-job-metrics).

Etapa 4. (Opcional) Interromper a migração

Você pode interromper e excluir o job de migração a qualquer momento se quiser cancelar o processo de migração de dados. É possível gerenciar o job de migração no console do Google Cloud ou com a Google Cloud CLI.

Etapa 5. Concluir a migração

Quando o job de migração for concluído, finalize-o seguindo uma destas etapas:

  • Para migrações únicas: o status do job de migração muda para Concluído. Não é necessário fazer mais nada. Você pode limpar o job de migração e os recursos do perfil de conexão.

  • Para migrações contínuas: promova o job de migração para mudar o aplicativo para a nova instância do banco de dados.