O Database Migration Service usa jobs de migração para migrar dados da instância de banco de dados de origem para a 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
- Selecionar o perfil de conexão do banco de dados de origem
- Selecionar a instância de banco de dados de destino atual
- 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 destino
- Testar o job de migração para garantir que as informações de conexão fornecidas para o job sejam válidas
Há algumas limitações que você precisa considerar ao 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 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 mostram cada etapa de 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 rascunho de job de migração. Você pode concluir o rascunho do job de migração depois.
- Na página Começar, insira as seguintes informações:
- Nome do job de migração
É um nome legível para o job de migração. Esse valor é exibido no console Google Cloud .
- ID do job de migração
É um identificador legível por máquina do seu job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou da API do 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ê salva o job de migração.
O Database Migration Service é um produto totalmente regional. Isso significa que todas as entidades relacionadas à sua migração (perfis de conexão de origem e 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, não será possível mudar essa seleção.
- 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 banco de dados de origem.
- Na seção Personalizar a configuração de despejo completo, clique em Editar configuração.
- No painel Editar configuração de despejo completo, no menu suspenso Método de despejo completo, selecione uma das seguintes opções:
- Baseado em arquivo físico: selecione essa opção se quiser usar o utilitário Percona XtraBackup para fornecer seu próprio arquivo de backup. Essa abordagem exige etapas de preparação adicionais. Para conferir o guia completo sobre como usar arquivos de backup físico gerados pelo Percona XtraBackup, consulte Migrar seus bancos de dados usando um arquivo físico do Percona XtraBackup.
- Baseado em lógica: selecione essa opção se 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 as outras configurações de despejo. Faça uma destas 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 upload do arquivo dump completo. Selecione a pasta dedicada que contém o arquivo de backup completo, e não o bucket de armazenamento em si.
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 conferir as etapas completas do arquivo de backup lógico
Na seção Escolha como gerar seu arquivo de despejo, use uma das seguintes opções:
Gerada automaticamente (recomendado)
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 de tabela do banco de dados de origem para que essas informações possam ser migradas para uma instância de banco de dados de destino do Cloud SQL.
Se você usar o despejo gerado automaticamente, selecione o tipo de operação que o Database Migration Service vai realizar na seção Configurar operação de despejo de dados:
- Paralelismo de despejo de dados: use uma opção de paralelismo de alta performance, 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:
- Ideal (recomendado): performance equilibrada com carga ideal no banco de dados de origem.
- Máximo: oferece as maiores velocidades de despejo, 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 transferência de despejo mais lenta.
- Flags de despejo: essa opção é exclusiva com Paralelismo de despejo de dados.
Use essa configuração para definir diretamente flags para o
utilitário
mysqldump
usado para criar o arquivo dump.Para adicionar uma flag:
- 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 esta flag para inserir uma lista de números de erros separados por vírgulas. Esses números representam os erros que o utilitáriomysqldump
vai ignorar.max-allowed-packet:
Use esta 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 máximo é de 1 GB.
- Clique em CONCLUÍDO.
- Repita essas etapas para cada flag que você quiser adicionar.
Para remover uma flag, clique no ícone da lixeira à direita da linha que contém a flag.
- Paralelismo de despejo de dados: use uma opção de paralelismo de alta performance, 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 realiza um despejo inicial como parte da execução do job de migração.
Se você quiser usar seu próprio arquivo dump, selecione Fornecer o próprio, clique em PROCURAR, selecione o arquivo (ou a pasta inteira do Cloud Storage se você usar vários arquivos) e clique em SELECIONAR.
Verifique se o despejo foi gerado nas últimas 24 horas e atende aos requisitos de despejo.
- Clique em Salvar e continuar.
Selecione a instância de destino do Cloud SQL
- No menu Tipo de instância de destino, selecione Instância atual.
- Na seção Selecionar instância de destino, escolha a instância de destino.
- Analise 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, o Database Migration Service rebaixa a instância de destino e a converte em uma réplica. Para indicar que a remoção pode ser feita 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 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 atuais de conectividade de rede incluem lista de permissões de IP, túnel SSH reverso, interfaces do Private Service Connect 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 das instâncias primária e secundária. |
O método de conectividade de rede do túnel SSH reverso. | Selecione 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 para configurar o túnel entre os bancos de dados de origem e de destino. Você precisará executar o script na Google Cloud CLI. Execute os comandos em uma máquina que tenha conectividade com o banco de dados de origem e com Google Cloud. |
O método de conectividade de interfaces do Private Service Connect, | O Database Migration Service estabelece automaticamente as conexões necessárias. Esse método de conectividade só está disponível se você tiver a instância habilitada para o Private Service Connect com um anexo de rede. Para mais informações sobre interfaces do Private Service Connect, consulte Conexões de saída do Private Service Connect na documentação do Cloud SQL. |
O método de conectividade de rede de peering de VPC, | Selecione 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, da origem, do destino e do método de conectividade. Em seguida, teste a validade da configuração do job de migração. Se houver problemas, modifique as configurações do job de migração. Nem todas as configurações podem ser editadas.
-
Na página Testar e criar 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 como resolver 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 e iniciar o job de migração 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. Independente de quando o job de migração começa, sua organização é 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 precisar de um período curto de inatividade na gravação (aproximadamente menos de um minuto) no início da migração. Para mais informações, consulte Limitações conhecidas.
- Acesse Revisar o job de migração.
Criar um job de migração usando a Google Cloud CLI
Ao migrar para uma instância atual 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 ao usar 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, 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 sua 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
Execute o comando gcloud database-migration connection-profiles create
para criar o perfil de conexão de destino da sua instância de destino atual:
Este exemplo usa a flag opcional --no-async
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 com o identificador da região em que você quer salvar o perfil de conexão.
- DESTINATION_INSTANCE_ID com o identificador da instância de destino.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legível para seu perfil de conexão. Esse valor é exibido no console 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 opcional --no-async
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 seu job de migração. Você usa esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou a API do Database Migration Service.
- REGION com o identificador da região em que você quer salvar o job de migração.
- MIGRATION_JOB_NAME com um nome legível para o job de migração. Esse valor é exibido no Database Migration Service no console 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.
Opcional: por padrão, o Database Migration Service migra todos os bancos de dados na sua origem. Se você quiser migrar apenas bancos de dados específicos, use a flag
--databases-filter
e especifique os identificadores como uma lista separada por vírgulas.Por exemplo:
--databases-filter=my-business-database,my-other-database
É possível editar depois os jobs de migração criados com o
--database-filter flag
usando o comandogcloud database-migration migration-jobs update
.- MIGRATION_JOB_TYPE com o tipo do seu 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]
Rebaixar 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 com
o 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 ver os identificadores deles. - REGION com o identificador da região em que o perfil de conexão está 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
Neste ponto, o job de migração está configurado e conectado à instância do banco de dados de destino. Para gerenciar,use 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 com
o 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 ver os identificadores deles. - REGION com o identificador da região em que o perfil de conexão está 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 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 com
o 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 ver os identificadores deles. - REGION com o identificador da região em que o perfil de conexão está 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 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 atingir a fase de captura de dados alterados (CDC),
será possível 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 com
o 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 ver os identificadores deles. - REGION com o identificador da região em que o perfil de conexão está 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 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.