O Database Migration Service usa tarefas de migração para migrar dados da instância da base de dados de origem para a instância da base de dados de destino. A criação de uma tarefa de migração para uma instância de destino existente inclui:
- Definir as definições da tarefa de migração
- Selecionar o perfil de ligação da base de dados de origem
- Selecionar a instância da base de dados de destino existente
- Rebaixar a instância existente para a converter numa réplica de leitura
- Configurar a conetividade entre as instâncias da base de dados de origem e de destino
- Testar a tarefa de migração para garantir que as informações de ligação que forneceu para a tarefa são válidas
Existem determinadas limitações que deve ter em consideração quando quiser migrar para uma instância de destino criada fora do Database Migration Service. Por exemplo, a instância de destino do Cloud SQL tem de estar vazia ou conter apenas dados de configuração do sistema. Para mais informações, consulte Limitações conhecidas.
Defina as definições da tarefa de migração
- Na Google Cloud consola, aceda à página Tarefas de migração.
- Clique em Criar tarefa de migração.
É aberta a página do assistente de configuração da tarefa de migração. Este assistente contém vários painéis que explicam cada passo de configuração.
Pode pausar a criação de uma tarefa de migração em qualquer altura clicando em GUARDAR E SAIR. Todos os dados que introduzir até esse ponto são guardados num trabalho de migração de rascunho. Pode concluir a tarefa de migração de rascunho mais tarde.
- Na página Começar, introduza as seguintes informações:
- Nome da tarefa de migração
Este é um nome legível para o seu trabalho de migração. Este valor é apresentado na Google Cloud consola.
- ID da tarefa de migração
Este é um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do serviço de migração de base de dados.
- Na lista Motor da base de dados de origem, selecione
MySQL.
O campo Motor da base de dados de destino é preenchido automaticamente e não pode ser alterado.
- Selecione a região onde guarda a tarefa de migração.
O serviço de migração de bases de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas com a sua migração (perfis de ligação de origem e destino, tarefas de migração, bases de dados de destino) têm de ser guardadas numa ú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, e outros serviços. Depois de escolher a região de destino, não pode alterar esta seleção.
- Nome da tarefa de migração
- Clique em Guardar e continuar.
Especifique informações sobre o perfil de associação de origem
Na página Defina uma origem, execute os seguintes passos:
- No menu pendente Perfil de associação de origem, selecione o perfil de associação da base de dados de origem.
- Na secção Personalizar configuração de despejo completo, clique em Editar configuração.
- No painel Editar configuração de descarga completa, no menu pendente
Método de descarga completa, selecione uma das seguintes opções:
- Baseado em ficheiros físicos: selecione esta opção se quiser usar o utilitário Percona XtraBackup para fornecer o seu próprio ficheiro de cópia de segurança. Esta abordagem requer passos de preparação adicionais. Para ver o guia completo sobre a utilização de ficheiros de cópia de segurança física gerados pelo Percona XtraBackup, consulte o artigo Migre as suas bases de dados através de um ficheiro físico do Percona XtraBackup.
- Com base na lógica: selecione esta opção se quiser usar um ficheiro de cópia de segurança lógica criado pela utilidade
mysqldump
. O serviço de migração de bases de dados pode gerar automaticamente este ficheiro de cópia de segurança para si ou pode fornecer a sua própria cópia.
- Edite as restantes definições de despejo. Realize uma das seguintes ações:
- Se usar o ficheiro de cópia de segurança físico, em Indique a sua pasta, clique em Procurar e, em seguida, selecione a pasta onde carregou o ficheiro de despejo completo. Certifique-se de que seleciona a pasta dedicada que contém o ficheiro de cópia de segurança completo e não o contentor de armazenamento propriamente dito.
Se usar um ficheiro de cópia de segurança lógica, configure o paralelismo de despejo de dados ou as flags de despejo.
Expanda esta secção para ver os passos completos do ficheiro de cópia de segurança lógica
Na secção Escolha como gerar o ficheiro de despejo, use uma das seguintes opções:
Geradas automaticamente (recomendado)
Esta opção é recomendada porque o serviço de migração de bases de dados gera sempre um ficheiro de despejo da base de dados inicial após a criação e o início da tarefa de migração.
O serviço de migração de base de dados usa este ficheiro para reproduzir as definições de objetos originais e os dados das tabelas da base de dados de origem, para que estas informações possam ser migradas para uma instância de base de dados do Cloud SQL de destino.
Se usar o despejo gerado automaticamente, selecione o tipo de operação que o Database Migration Service deve realizar na secção Configurar operação de despejo de dados:
- Paralelismo de descarga de dados: use uma opção de paralelismo de alto desempenho, disponível quando migrar para as versões 5.7 ou 8 do MySQL.
A velocidade do paralelismo de dados está relacionada com a quantidade de carga induzida na base de dados de origem:
- Ótimo (recomendado): desempenho equilibrado com carga ideal na base de dados de origem.
- Máximo: oferece as velocidades de descarga mais elevadas, mas pode causar um aumento da carga na base de dados de origem.
- Mínimo: usa a menor quantidade de recursos de computação na base de dados de origem, mas pode ter um débito de despejo mais lento.
- Flags de despejo: esta opção é exclusiva com Paralelismo de despejo de dados.
Use esta definição para configurar diretamente as flags do utilitário
mysqldump
que é usado para criar o ficheiro de despejo.Para adicionar uma bandeira:
- Clique em ADICIONAR MARCAÇÃO.
Selecione uma das seguintes flags:
add-locks:
Esta flag envolve cada tabela contida no ficheiro de despejo com declaraçõesLOCK TABLES
eUNLOCK TABLES
. Isto resulta em inserções mais rápidas quando o ficheiro de despejo é carregado na instância de destino.ignore-error:
Use esta flag para introduzir uma lista de números de erros separados por vírgulas. Estes números representam os erros que o utilitáriomysqldump
vai ignorar.max-allowed-packet:
Use esta flag para definir o tamanho máximo da memória intermédia para a comunicação entre o cliente MySQL e a base de dados MySQL de origem. O tamanho predefinido da memória intermédia é de 24 MB e o tamanho máximo é de 1 GB.
- Clique em CONCLUIR.
- Repita estes passos para cada indicador que quer adicionar.
Para remover uma flag, clique no ícone de lixo à direita da linha que contém a flag.
- Paralelismo de descarga de dados: use uma opção de paralelismo de alto desempenho, disponível quando migrar para as versões 5.7 ou 8 do MySQL.
Forneça a sua própria
Esta opção não é recomendada porque, por predefinição, o serviço de migração de bases de dados executa um despejo inicial como parte da execução da tarefa de migração.
Se quiser usar o seu próprio ficheiro de despejo, selecione Fornecer o seu próprio ficheiro, clique em PROCURAR, selecione o ficheiro (ou a pasta completa do Cloud Storage se usar vários ficheiros) e, de seguida, clique em SELECIONAR.
Certifique-se de que o despejo foi gerado nas últimas 24 horas e cumpre os requisitos de despejo.
- Clique em Guardar e continuar.
Selecione a instância do Cloud SQL de destino
- No menu Tipo de instância de destino, selecione Instância existente.
- Na secção Selecionar instância de destino, selecione a instância de destino.
- Reveja as informações na secção Detalhes da instância e clique em Selecionar e continuar.
- Para migrar para uma base de dados de destino existente, o serviço de migração de base de dados rebaixa a instância de destino e converte-a numa réplica. Para indicar que a despromoção pode ser realizada em segurança, na janela de confirmação, introduza o identificador da instância de destino.
- Clique em Confirmar e continuar.
Configure a conetividade entre as instâncias da base de dados de origem e de destino
No menu pendente Método de conetividade, selecione um método de conetividade de rede. Este método define como a instância do Cloud SQL recém-criada se vai ligar à base de dados de origem. Os métodos de conetividade de rede atuais incluem: Lista de autorizações de IPs, túnel SSH inverso, interfaces do Private Service Connect e interligação de VPCs.
Se quiser usar… | Depois… |
---|---|
O método de conetividade de rede da lista de permissões de IPs, | Tem de especificar o endereço IP de saída da instância de destino. Se a instância do Cloud SQL que criou for uma instância de alta disponibilidade, inclua os endereços IP de saída para a instância principal e a instância secundária. |
O método de conetividade de rede do túnel SSH inverso | Tem de selecionar a instância de VM do Compute Engine que vai alojar o túnel.
Depois de especificar a instância, a Google fornece um script que executa os passos para configurar o túnel entre as bases de dados de origem e de destino. Tem de executar o script na CLI do Google Cloud. Execute os comandos a partir de uma máquina que tenha conetividade com a base de dados de origem e com o Google Cloud. |
O método de conetividade das interfaces do Private Service Connect | O serviço de migração de bases de dados estabelece automaticamente as ligações necessárias. Este método de conetividade só está disponível se tiver a instância ativada para o Private Service Connect com uma associação de rede. Para mais informações sobre as interfaces do Private Service Connect, consulte o artigo Ligações de saída do Private Service Connect na documentação do Cloud SQL. |
O método de conetividade de rede de intercâmbio da VPC | Tem de selecionar a rede de VPC onde reside a base de dados de origem. A instância do Cloud SQL vai ser atualizada para se ligar a esta rede. |
Depois de selecionar e configurar a conetividade de rede, clique em Configurar e continuar.
Teste, crie e execute a tarefa de migração
Neste passo final, reveja o resumo das definições da tarefa de migração, a origem, o destino e o método de conetividade e, em seguida, teste a validade da configuração da tarefa de migração. Se encontrar problemas, pode modificar as definições da tarefa de migração. Nem todas as definições são editáveis.
-
Na página Teste e crie uma tarefa de migração, clique em Tarefa de teste.
Se o teste falhar, pode resolver o problema na parte adequada do fluxo e voltar a testar. Para obter informações sobre a resolução de problemas de um teste de tarefa de migração com falhas, consulte Diagnosticar problemas do MySQL.
-
Quando o teste da tarefa de migração terminar, clique em Criar e iniciar tarefa
para criar a tarefa de migração e iniciá-la imediatamente ou clique em Criar tarefa
para criar a tarefa de migração sem a iniciar imediatamente.
Se a tarefa não for iniciada no momento da criação, pode iniciá-la na página Tarefas de migração clicando em INICIAR. Independentemente da data de início da tarefa de migração, a sua organização é cobrada pela existência da instância de destino.
A migração está agora em curso. Quando inicia a tarefa de migração, o serviço de migração de dados inicia a descarga completa, bloqueando brevemente a base de dados de origem. Se a sua origem estiver no Amazon RDS ou no Amazon Aurora, o serviço de migração de bases de dados também requer um breve período de inatividade de gravação (aproximadamente menos de um minuto) no início da migração. Para mais informações, consulte o artigo Limitações conhecidas.
- Aceda a Rever tarefa de migração.
Crie uma tarefa de migração através da Google Cloud CLI
Quando migra para uma instância existente através da CLI do Google Cloud, tem de criar manualmente o perfil de ligação para a instância de destino. Isto não é necessário quando usa a Google Cloud consola, uma vez que o Database Migration Service se encarrega de criar e remover o perfil de ligação de destino por si.
Antes de começar
Antes de usar a CLI gcloud para criar uma tarefa de migração para uma instância de base de dados de destino existente, certifique-se de que:
- Crie a instância da base de dados de destino.
- Prepare a instância da base de dados de origem. Veja:
- Configure a sua origem
- Crie o perfil de associação de origem (o identificador do perfil de associação de origem é necessário para criar uma tarefa de migração)
- Configure a conetividade
Crie um perfil de ligação de destino
Crie o perfil de associação de destino para a instância de destino existente executando o comando gcloud database-migration connection-profiles create
:
Este exemplo usa o sinalizador --no-async
opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar
algum tempo a serem concluídos. Pode ignorar a flag --no-async
para executar comandos de forma assíncrona.
Se o fizer, tem de usar o comando gcloud database-migration operations describe
para verificar se a operação foi bem-sucedida.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- CONNECTION_PROFILE_ID com um identificador legível por máquina para o seu perfil de ligação.
- REGION com o identificador da região onde quer guardar o perfil de associação.
- DESTINATION_INSTANCE_ID com o identificador da instância da sua instância de destino.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legível para o seu perfil de associação. Este valor é apresentado na Google Cloud consola.
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
Deve receber uma resposta semelhante à seguinte:
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]
Crie a tarefa de migração
Este exemplo usa o sinalizador --no-async
opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar
algum tempo a serem concluídos. Pode ignorar a flag --no-async
para executar comandos de forma assíncrona.
Se o fizer, tem de usar o comando gcloud database-migration operations describe
para verificar se a operação foi bem-sucedida.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
- REGION com o identificador da região onde quer guardar a tarefa de migração.
- MIGRATION_JOB_NAME com um nome legível para a tarefa de migração. Este valor é apresentado no serviço de migração de bases de dados na Google Cloud consola.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de ligação de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de associação de destino.
Opcional: o serviço de migração de base de dados migra todas as bases de dados na sua origem por predefinição. Se quiser migrar apenas bases de dados específicas, use a flag
--databases-filter
e especifique os respetivos identificadores como uma lista separada por vírgulas.Por exemplo:
--databases-filter=my-business-database,my-other-database
Pode editar posteriormente as tarefas de migração que criou com o comando
--database-filter flag
através do comandogcloud database-migration migration-jobs update
.- MIGRATION_JOB_TYPE com o tipo da sua tarefa de migração. São permitidos dois valores:
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 ^
Deve receber uma resposta semelhante à seguinte:
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]
Rebaixe a base de dados de destino
O Database Migration Service requer que a instância da base de dados de destino funcione como uma réplica de leitura durante o período de migração. Antes de iniciar a tarefa de migração, execute o comando gcloud database-migration migration-jobs demote-destination
para rebaixar a instância da base de dados de destino.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
Se não souber o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores. - REGION com o identificador da região onde o seu perfil de associação está guardado.
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. Como tal, este comando devolve 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 ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:
- Use o comando
gcloud database-migration migration-jobs describe
para ver o estado da tarefa de migração. - Use o
gcloud database-migration operations describe
com o OPERATION_ID para ver o estado da própria operação.
Faça a gestão das tarefas de migração
Neste momento, a tarefa de migração está configurada e associada à instância da base de dados de destino. Pode geri-lo através das operações verify
,start
, stop
, restart
e resume
.
Valide a tarefa de migração
Recomendamos que valide primeiro a tarefa de migração executando o comando
gcloud database-migration migration-jobs verify
.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
Se não souber o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores. - REGION com o identificador da região onde o seu perfil de associação está guardado.
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. Como tal, este comando devolve 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 ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com o comando MIGRATION_JOB_ID para ver o estado da tarefa de migração. - Use o comando
gcloud database-migration operations describe
com o comando OPERATION_ID para ver o estado da própria operação.
Inicie a tarefa de migração
Inicie a tarefa de migração executando o comando
gcloud database-migration migration-jobs start
.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
Se não souber o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores. - REGION com o identificador da região onde o seu perfil de associação está guardado.
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. Como tal, este comando devolve 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 ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com o comando MIGRATION_JOB_ID para ver o estado da tarefa de migração. - Use o comando
gcloud database-migration operations describe
com o comando OPERATION_ID para ver o estado da própria operação.
Promova a tarefa de migração
Quando a migração atingir a fase de captura de dados de alterações (CDC),
pode promover a instância da base de dados de destino
de uma réplica de leitura para uma instância autónoma.
Execute o comando gcloud database-migration migration-jobs promote
:
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
Se não souber o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores. - REGION com o identificador da região onde o seu perfil de associação está guardado.
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. Como tal, este comando devolve 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 comando MIGRATION_JOB_ID para ver o estado da tarefa de migração. - Use o comando
gcloud database-migration operations describe
com o comando OPERATION_ID para ver o estado da própria operação.