O Database Migration Service usa jobs de migração para migrar dados da instância de banco de dados de origem para a instância de destino. A criação de um job de migração para uma instância de destino atual inclui:
- Como definir configurações para o job de migração
- Como selecionar o perfil de conexão do banco de dados de origem
- Como selecionar a instância de destino do banco de dados
- Rebaixar a instância atual para convertê-la em uma réplica de leitura
- Configurar a conectividade entre as instâncias de banco de dados de origem e de destino
- Testar o job de migração para garantir que as informações de conexão fornecidas para o job sejam válidas.
É preciso considerar algumas limitações quando você quer migrar para uma instância de destino criada fora do Database Migration Service. Por exemplo, a instância de destino do Cloud SQL precisa estar vazia ou conter apenas dados de configuração do sistema. Para mais informações, consulte Limitações conhecidas.
Definir configurações para o job de migração
- No console do Google Cloud, acesse a página Jobs de migração.
- 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.
- Na página Começar, insira as seguintes informações:
- 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.
- 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.
- 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.
- 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 no local 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.
- Nome do job de migração
- Clique em Salvar e continuar.
Especificar informações sobre o perfil de conexão de origem
Na página Definir uma origem, siga estas etapas:
- No menu suspenso Perfil de conexão de origem, selecione o perfil de conexão do seu banco de dados de origem.
- Na seção Customize full dump configuration, clique em Edit configuration.
- No painel Editar configuração de despejo completo, no menu suspenso Método de despejo completo, selecione uma das seguintes opções:
- Com base física: selecione essa opção se você quiser usar o utilitário Percona XtraBackup para fornecer seu próprio arquivo de backup. Essa abordagem requer etapas adicionais de preparação. Para conferir o guia completo sobre o uso de arquivos de backup físico gerados pelo Percona XtraBackup, consulte Migrar seus bancos de dados usando um arquivo físico do Percona XtraBackup.
- Com base em lógica: selecione essa opção se você quiser usar
um arquivo de backup lógico criado pelo
utilitário
mysqldump
. O Database Migration Service pode gerar automaticamente esse arquivo de backup para você, ou você pode fornecer sua própria cópia.
- Edite o restante das configurações de despejo. Realize uma das seguintes ações:
- Se você usar o arquivo de backup físico, em Forneça sua pasta, clique em Procurar e selecione a pasta em que você fez o upload do arquivo dump completo. Selecione a pasta dedicada que contém o arquivo de backup completo, e não o bucket de armazenamento.
Se você usar um arquivo de backup lógico, configure o paralelismo de despejo de dados ou as flags de despejo.
Expanda esta seção para ver as etapas completas do arquivo de backup lógico
Na seção Escolher como gerar o arquivo de despejo, use uma das seguintes opções:
Gerada automaticamente (recomendada)
Essa opção é recomendada porque o Database Migration Service sempre gera um arquivo dump inicial do banco de dados depois que o job de migração é criado e iniciado.
O Database Migration Service usa esse arquivo para reproduzir as definições de objeto originais e os dados da tabela do banco de dados de origem para que essas informações possam ser migradas para uma instância de banco de dados do Cloud SQL de destino.
Se você usar o despejo gerado automaticamente, selecione o tipo de operação que o Database Migration Service precisa realizar na seção Configurar operação de despejo de dados:
- Paralelismo de despejo de dados: use uma opção de paralelismo de alto desempenho, disponível ao migrar para as versões 5.7 ou 8 do MySQL.
A velocidade do paralelismo de dados está relacionada à quantidade de carga induzida no banco de dados de origem:
- Otimizado (recomendado): desempenho equilibrado com carga ideal no banco de dados de origem.
- Máxima: oferece as velocidades de despejo mais altas, mas pode aumentar a carga no banco de dados de origem.
- Mínimo: usa a menor quantidade de recursos de computação no banco de dados de origem, mas pode ter uma taxa de despejo mais lenta.
- Flags de despejo: essa opção é exclusiva do paralelismo de despejo de dados.
Use essa configuração para configurar diretamente sinalizações para o utilitário
mysqldump
usado para criar o arquivo dump.Para adicionar uma sinalização:
- Clique em ADICIONAR FLAG.
Selecione uma das seguintes flags:
add-locks:
: essa flag envolve cada tabela contida no arquivo dump com instruçõesLOCK TABLES
eUNLOCK TABLES
. Isso resulta em inserções mais rápidas quando o arquivo dump é carregado na instância de destino.ignore-error:
Use essa flag para inserir uma lista de números de erro separados por vírgulas. Esses números representam os erros que o utilitáriomysqldump
vai ignorar.max-allowed-packet:
Use essa flag para definir o tamanho máximo do buffer para comunicação entre o cliente MySQL e o banco de dados MySQL de origem. O tamanho padrão do buffer é de 24 MB, e o tamanho máximo é de 1 GB.
- Clique em CONCLUÍDO.
- Repita essas etapas para cada flag que você quiser adicionar.
Para remover uma sinalização, clique no ícone da lixeira à direita da linha que contém a sinalização.
- Paralelismo de despejo de dados: use uma opção de paralelismo de alto desempenho, disponível ao migrar para as versões 5.7 ou 8 do MySQL.
Fornecer a sua
Essa opção não é recomendada porque, por padrão, o Database Migration Service executa um despejo inicial como parte da execução do job de migração.
Se você quiser usar seu próprio arquivo dump, selecione Fornecer seu próprio arquivo, clique em BROWSE, selecione seu arquivo (ou a pasta inteira do Cloud Storage se você usar vários arquivos) e clique em SELECT.
Verifique se o despejo foi gerado nas últimas 24 horas e se ele obedece aos requisitos de despejo.
- Clique em Salvar e continuar.
Selecione a instância do Cloud SQL de destino
- No menu Type of destination instance, selecione Existing instance.
- Na seção Selecionar instância de destino, selecione sua instância de destino.
- Revise as informações na seção Detalhes da instância e clique em Selecionar e continuar.
- 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.
- 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 vai 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, você poderá modificar as configurações do job de migração. Nem todas as configurações podem ser editadas.
-
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.
-
Quando o teste do job de migração terminar, clique em Criar e iniciar job
para criar o job de migração e iniciá-lo imediatamente ou em Criar job
para criar o job de migração sem iniciá-lo imediatamente.
Se o job não for iniciado no momento da criação, ele poderá ser iniciado na página Jobs de migração clicando em INICIAR. Independentemente de quando o job de migração for iniciado, sua organização será cobrada pela existência da instância de destino.
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. Se a origem estiver no Amazon RDS ou no Amazon Aurora, o Database Migration Service também vai exigir um período curto (aproximadamente menos de um minuto) de inatividade na gravação no início da migração. Para mais informações, consulte Limitações conhecidas.
- Prossiga para Revisar o job de migração.
Criar um job de migração usando a Google Cloud CLI
Ao migrar para uma instância usando a Google Cloud CLI, é necessário criar manualmente o perfil de conexão para a instância de destino. Isso não é necessário quando você usa o console do Google Cloud, porque o Database Migration Service cria e remove o perfil de conexão de destino para você.
Antes de começar
Antes de usar a CLI gcloud para criar um job de migração para uma instância de banco de dados de destino existente, verifique se você:
- Crie a instância de banco de dados de destino.
- Prepare a instância do banco de dados de origem. Consulte:
- Configurar a fonte
- Crie o perfil de conexão de origem. O identificador do perfil de conexão de origem é necessário para criar um job de migração.
- Configurar a conectividade
Criar perfil de conexão de destino
Crie o perfil de conexão de destino para a instância de destino atual executando o comando gcloud database-migration connection-profiles 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:
- 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]
Criar o job de migração
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
ouCONTINUOUS
. Para mais informações, consulte Tipos de migração.
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 \
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 `
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 ^
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]
Desmonte o banco de dados de destino
O Database Migration Service exige que a instância de banco de dados de destino
funcione como uma réplica de leitura durante a migração. Antes de iniciar o
job de migração, execute o comando
gcloud database-migration migration-jobs demote-destination
para rebaixar a instância do banco de dados de destino.
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:
- Use o comando
gcloud database-migration migration-jobs describe
para conferir o status do job de migração. - Use o
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
Gerenciar jobs de migração
Nesse ponto, o job de migração está configurado e conectado à instância de banco de dados de destino. É possível fazer isso usando as
operações verify
, start
, stop
, restart
e resume
.
Verificar o job de migração
Recomendamos que você primeiro verifique seu job de migração executando o comando
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:
- Use o comando
gcloud database-migration migration-jobs describe
com o MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
Iniciar o job de migração
Inicie o job de migração executando o comando
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:
- Use o comando
gcloud database-migration migration-jobs describe
com o MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
Promover o job de migração
Quando a migração chegar à fase de captura de dados alterados (CDC),
você poderá promover a instância do banco de dados de destino
de uma réplica de leitura para uma instância independente.
Execute o comando gcloud database-migration migration-jobs promote
:
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 \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote 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
- Use o comando
gcloud database-migration migration-jobs describe
com o MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.