Pode migrar as suas bases de dados MySQL para o Cloud SQL através de ficheiros de cópia de segurança da base de dados física criados com o utilitário Percona XtraBackup para MySQL. A migração com ficheiros de cópia de segurança físicos oferece velocidades de restauro de dados mais rápidas do que as migrações que usam ficheiros de cópia de segurança lógicos. Isto torna-os uma excelente escolha para mover grandes bases de dados que contêm vários terabytes de dados.
Este fluxo de migração envolve as seguintes tarefas:
Fazer uma cópia de segurança da instância do MySQL de origem e preparar os ficheiros de cópia de segurança física com a utilidade Percona XtraBackup for MySQL.
Carregar os ficheiros de cópia de segurança para um contentor do Cloud Storage.
Criar e executar a tarefa de migração no Database Migration Service.
Consoante o seu cenário, pode criar a instância de destino por si próprio ou pedir ao serviço de migração de bases de dados que a crie para si como parte do fluxo de criação da tarefa de migração. Para mais informações, consulte o passo Configure e execute a tarefa de migração.
Promover a tarefa de migração depois de os dados serem totalmente migrados.
Migrações offline
Este guia descreve cenários de migração para ambientes onde pode garantir a conetividade de rede entre as instâncias da base de dados de origem e de destino.
É possível fazer uma migração de teste em que o Database Migration Service não se liga à instância de origem. Em alternativa, o serviço de migração de base de dados apenas lê os ficheiros de cópia de segurança que carrega para o contentor do Cloud Storage e replica o respetivo conteúdo para o destino do Cloud SQL para MySQL. Um fluxo de migração que não use a conetividade de rede não é recomendado para migrações de produção, uma vez que o Database Migration Service não pode realizar totalmente a validação de dados.
Se quiser tentar executar uma tarefa de migração offline, ajuste os procedimentos da seguinte forma:
Quando criar o perfil de associação à origem, use um endereço IP, uma porta, um nome de utilizador e uma palavra-passe de exemplo. Por exemplo:
- IP:
0.0.0.0
- Porta:
1234
- Nome de utilizador da migração:
test-user
- IP:
Quando cria a tarefa de migração:
- Use a conetividade de IP público. Não configure opções de rede adicionais.
- Use o tipo de tarefa de migração única.
Limitações
Esta secção apresenta as limitações das migrações que usam ficheiros físicos do Percona XtraBackup:
A migração para o MySQL 5.6 ou 8.4 com um ficheiro de cópia de segurança físico não é suportada. Consulte as limitações conhecidas.
Considerações entre versões:
- Só pode migrar na mesma versão principal da base 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 pode migrar do MySQL 5.7 para o MySQL 8.0.
A migração não é suportada para versões principais ou secundárias anteriores da base de dados. Por exemplo, não pode migrar do MySQL 8.0 para o 5.7 nem do MySQL 8.0.36 para o 8.0.16.
Considerações sobre arquiteturas diferentes: o Cloud SQL suporta a arquitetura ARM. Só pode migrar bases de dados entre máquinas do mesmo tipo de arquitetura. Por exemplo, se a sua base de dados estiver alojada numa máquina ARM64, tem de migrar para uma máquina ARM64.
O tamanho do disco da base de dados de destino tem de ser igual ou superior ao tamanho da base de dados de origem. Para mais informações, consulte os tipos de máquinas MySQL para a sua edição do Cloud SQL.
Tem de usar o Percona XtraBackup para fazer uma cópia de segurança dos seus dados para o contentor do Cloud Storage. Outras utilidades de cópia de segurança não são suportadas.
A migração de bases de dados a partir de um ficheiro físico do Percona XtraBackup só é suportada para bases de dados MySQL de VMs nas instalações ou autogeridas. A migração de bases de dados do Amazon Aurora ou do MySQL no Amazon RDS não é suportada.
Só pode migrar a partir de uma cópia de segurança completa. Outros tipos de cópias de segurança, como cópias de segurança incrementais ou parciais, não são suportados.
A migração da base de dados não inclui utilizadores nem privilégios da base de dados.
Tem de definir o formato de registo binário como
ROW
. Se configurar o registo binário para qualquer outro formato, comoSTATEMENT
ouMIXED
, a replicação pode falhar.Qualquer base de dados com uma tabela superior a 5 TB não é suportada.
O Cloud Storage limita o tamanho de um ficheiro que pode carregar para um contentor a 5 TB. Se o ficheiro físico do Percona XtraBackup exceder 5 TB, tem de dividir o ficheiro de cópia de segurança em ficheiros mais pequenos.
Certifique-se de que carrega os ficheiros de cópia de segurança para uma pasta do Cloud Storage dedicada que não contenha outros ficheiros.
Tem de configurar o parâmetro
innodb_data_file_path
apenas com um ficheiro de dados que use o nome de ficheiro de dados predefinidoibdata1
. Se a sua base de dados estiver configurada com dois ficheiros de dados ou tiver um ficheiro de dados com um nome diferente, não pode migrar a base de dados através de um ficheiro físico do Percona XtraBackup. Por exemplo, uma base de dados configurada cominnodb_data_file_path=ibdata01:50M:autoextend
não é suportada para a migração.O parâmetro
innodb_page_size
na instância de origem tem de ser configurado com o valor predefinido16384
.Não pode migrar plug-ins da sua base de dados externa.
Custos
Para migrações homogéneas para o Cloud SQL, o serviço de migração de bases de dados é oferecido sem custo financeiro adicional. No entanto, os preços do Cloud SQL e do Cloud Storage aplicam-se a encargos de rede, bem como a entidades do Cloud SQL e do Cloud Storage criadas para fins de migração.
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
- Cloud Storage
- Cloud SQL
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Antes de começar
- Considere em que região quer criar a base de dados de destino. 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, contentores de armazenamento) têm de ser guardadas numa única região.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.
Funções necessárias
Para receber as autorizações de que precisa para fazer migrações homogéneas do MySQL através de ficheiros de cópias de segurança físicas, peça ao seu administrador para lhe conceder as seguintes funções da IAM no seu projeto:
-
Conta de utilizador que faz a migração:
-
Administrador da migração da base de dados (
roles/datamigration.admin
) -
Visualizador de objetos de armazenamento (
roles/storage.objectViewer
) -
Editor do Cloud SQL (
roles/cloudsql.editor
)
-
Administrador da migração da base de dados (
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para realizar migrações homogéneas do MySQL através de ficheiros de cópias de segurança físicas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para fazer migrações homogéneas do MySQL através de ficheiros de cópia de segurança física:
-
Conta de utilizador 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
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Passo 1. Tenha em atenção os requisitos de conetividade de rede
Existem diferentes métodos de rede que pode usar para configurar a conetividade entre a origem e as instâncias de destino do Cloud SQL. Consoante o método que usar, podem existir passos adicionais que tem de realizar durante o processo de migração.
Considere que método de conetividade é adequado para o seu cenário antes de avançar para os passos seguintes, uma vez que a sua escolha pode afetar as definições que tem de usar. Para mais informações, consulte o artigo Configure a conetividade.
Passo 2. Prepare os dados de origem
Siga estes passos para preparar os dados para a migração:
- Instale a versão correta do utilitário Percona XtraBackup na instância de origem. Tem de usar uma versão do Percona XtraBackup igual ou posterior à versão da instância de origem.
Para mais informações, consulte a
comparação entre a versão do servidor e a versão da cópia de segurança na documentação do Percona
XtraBackup.
- Para o MySQL 5.7, instale o Percona XtraBackup 2.4.
- Para o MySQL 8.0, instale o Percona XtraBackup 8.0.
- Exporte e prepare o ficheiro de cópia de segurança física da instância de origem através do Percona XtraBackup. Para obter informações completas sobre a utilização do
Percona XtraBackup, consulte a
documentação da ferramenta. Também pode expandir a secção seguinte para ver um exemplo
dos passos recomendados.
Passos recomendados de exemplo para criar e preparar ficheiros de cópia de segurança física através do Percona XtraBackup
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- TARGET_DIR com o caminho onde quer guardar o ficheiro de cópia de segurança de saída.
- USERNAME com um utilizador que tenha o privilégio
BACKUP_ADMIN
na instância de origem. - PASSWORD com a palavra-passe da conta USERNAME.
- Faça uma cópia de segurança física completa da instância de origem. Execute o seguinte comando:
xtrabackup --backup \ --target-dir=TARGET_DIR \ --user=USERNAME \ --password=PASSWORD
- Quando o ficheiro de cópia de segurança estiver pronto, use o comando
--prepare
para garantir a consistência do ficheiro. Execute o seguinte comando:xtrabackup --prepare --target-dir=TARGET_DIR
- Crie o seu contentor para armazenar os ficheiros de cópia de segurança. Certifique-se de que usa a mesma região que aquela onde
pretende criar a instância do Cloud SQL para MySQL de destino.
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, contentores de armazenamento para ficheiros de cópia de segurança) têm de ser guardadas numa única região.
- Carregue os ficheiros de cópia de segurança para o seu contentor do Cloud Storage. Certifique-se de que carrega os ficheiros de cópia de segurança para uma pasta do Cloud Storage dedicada que não contenha outros ficheiros. Consulte o artigo Carregue objetos a partir de um sistema de ficheiros na documentação do Cloud Storage.
- Crie o perfil de ligação de origem para a instância da base de dados de origem.
Consola
Para criar um perfil de ligação de origem, siga estes passos:
- Aceda à página Perfis de ligação na Google Cloud consola.
- Clique em Criar perfil.
- Na página Crie um perfil de associação, no menu pendente Motor de base de dados, selecione MySQL
- No campo Nome do perfil de associação, introduza um nome legível para o seu perfil de associação. Este valor é apresentado na lista de perfis de associação.
- Mantenha o ID do perfil de associação gerado automaticamente.
- Introduza um nome de anfitrião ou um endereço IP.
Se a base de dados de origem estiver alojada no Google Cloud, ou se for usado um túnel SSH inverso para associar a base de dados de destino à base de dados de origem, especifique o endereço IP privado (interno) da base de dados de origem. Este endereço vai estar acessível ao destino do Cloud SQL. Para mais informações, consulte o artigo Configure a conetividade através da interligação de VPCs.
Para outros métodos de conetividade, como a lista de autorizações de IPs, indique o endereço IP público.
- Introduza a Porta usada para aceder ao anfitrião. A porta predefinida do MySQL é 3306.
- Introduza um nome de utilizador e uma palavra-passe para a base de dados de destino. A conta de utilizador tem de ter os privilégios necessários para aceder aos seus dados. Para mais informações, consulte o artigo Configure a base de dados de origem.
- Na secção Região do perfil de ligação da página, selecione a região onde quer guardar o perfil de ligação.
Opcional: se a ligação for feita através de uma rede pública (com listas de autorizações de IPs), recomendamos que use a encriptação SSL/TLS para a ligação entre as bases de dados de origem e de destino.
Existem três opções para a configuração SSL/TLS que pode selecionar na secção Proteja a sua ligação da página:
- Nenhuma: a instância de destino do Cloud SQL liga-se à base de dados de origem sem encriptação.
Autenticação apenas do servidor: quando a instância de destino do Cloud SQL se liga à base de dados de origem, a instância autentica a origem, garantindo que a instância se está a ligar ao anfitrião correto de forma segura. Isto impede ataques do tipo man-in-the-middle. Para a autenticação apenas do servidor, a origem não autentica a instância.
Para usar a autenticação apenas do servidor, tem de fornecer o certificado codificado em PEM x509 da autoridade de certificação (AC) que assinou o certificado do servidor externo.
- Autenticação de servidor-cliente: quando a instância de destino se liga à origem, a instância autentica a origem e a origem autentica a instância.
A autenticação cliente-servidor oferece a segurança mais forte. No entanto, se não quiser fornecer o certificado de cliente e a chave privada quando criar a instância de destino do Cloud SQL, pode continuar a usar a autenticação apenas do servidor.
Para usar a autenticação servidor-cliente, tem de fornecer os seguintes itens quando cria o perfil de associação de destino:
- O certificado da AC que assinou o certificado do servidor da base de dados de origem (o certificado da AC).
- O certificado usado pela instância para autenticar no servidor de base de dados de origem (o certificado de cliente).
- A chave privada associada ao certificado de cliente (a chave de cliente).
- Clique em Criar. O seu perfil de ligação foi criado.
gcloud
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 comandogcloud 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.
- HOST_IP_ADDRESS com o endereço IP onde o serviço de migração de base de dados pode alcançar a instância da base de dados de origem. Este valor pode variar consoante o método de conetividade que usar para a migração.
- PORT_NUMBER com o número da porta onde a base de dados de origem aceita ligações recebidas. A porta predefinida do MySQL é 3306.
- USERNAME com o nome da conta de utilizador da base de dados à qual quer que o serviço de migração de bases de dados se ligue como instância da base de dados de origem.
- PASSWORD com a palavra-passe da conta de utilizador da base de dados.
- (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 \ --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
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]
Passo 3. Configure e execute a tarefa de migração
Quando migra com o Percona XtraBackup, pode querer criar a instância de destino do Cloud SQL por conta própria ou pedir ao serviço de migração de bases de dados que a crie por si. Para mais informações, consulte a Vista geral da criação de tarefas de migração.
Cada uma destas abordagens requer que siga um conjunto de procedimentos ligeiramente diferente. Use o menu pendente para mostrar os procedimentos relevantes para o seu cenário:
- Se quiser que o Database Migration Service crie a base de dados de destino, selecione Migrar para uma nova instância de destino.
- Se quiser migrar para uma base de dados de destino criada fora do Database Migration Service, selecione Migrar para uma instância de destino existente.
-
Quando migra para uma nova instância de destino, o serviço de migração de base de dados cria a instância de destino do Cloud SQL para MySQL por si durante o fluxo de criação da tarefa de migração.Passo 3a. Crie a tarefa de migração para uma nova instância de destino
Para criar uma tarefa de migração para uma nova instância de destino, siga estes passos:Consola
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 Database Migration Service.
- 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 Definir 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 despejo completo, no menu pendente Método de despejo completo, selecione Baseado em físico.
- Em Indique a pasta, clique em Procurar e, de seguida, selecione a pasta onde carregou o ficheiro de despejo completo (passo 3 na secção Prepare os dados de origem).
- Clique em Guardar.
- Clique em Guardar e continuar.
Configure e crie a instância do Cloud SQL de destino
- Na página Definir um destino, no menu pendente Tipo de instância, selecione Nova instância. Defina todas
as definições relevantes:
- No campo ID da instância de destino, indique um identificador
para a instância do Cloud SQL ou use o identificador gerado automaticamente.
Não inclua informações confidenciais ou de identificação pessoal no identificador. Não é necessário incluir o ID do projeto no nome da instância. Isto é feito automaticamente quando adequado (por exemplo, nos ficheiros de registo).
- No campo Palavra-passe, indique uma palavra-passe alfanumérica para a instância do Cloud SQL de destino. Esta é a palavra-passe da conta de administrador do
root
na instância.Pode introduzir a palavra-passe manualmente ou clicar em Gerar para que o serviço de migração de bases de dados crie uma automaticamente.
- No menu pendente Versão da base de dados,
escolha a versão da base de dados para a instância de destino.
Clique em Mostrar versões secundárias para ver todas as versões secundárias. Saiba mais acerca do apoio técnico para migração entre versões.
- Selecione a edição do Cloud SQL para MySQL para a instância de destino.
Estão disponíveis duas opções: Cloud SQL para MySQL Enterprise Edition e
Cloud SQL para MySQL Enterprise Plus Edition.
As edições do Cloud SQL para MySQL incluem diferentes conjuntos de funcionalidades, tipos de máquinas disponíveis e preços. Certifique-se de que consulta a documentação do Cloud SQL para escolher a edição adequada às suas necessidades. Para mais informações, consulte o artigo Introdução às edições do Cloud SQL para MySQL.
- O menu Região mostra a mesma região que selecionou na página
Começar.
Se estiver a configurar a sua instância para alta disponibilidade, selecione Várias zonas (altamente disponível). Pode selecionar a zona principal e a secundária. Aplicam-se as seguintes condições quando a zona secundária é usada durante a criação da instância:
- Por predefinição, as zonas são Qualquer para a zona principal e Qualquer (diferente da principal) para a zona secundária.
- Se as zonas principal e secundária forem especificadas, têm de ser zonas diferentes.
- Na secção Ligações, escolha se quer adicionar um endereço IP público ou privado para a instância de destino.
Pode configurar a sua instância para ter ambos os tipos de endereços IP, mas é necessário, pelo menos, um tipo para a migração.
Selecione uma das seguintes opções:
- Se quiser migrar através da interligação de VPCs
ou de um túnel SSH inverso, selecione
IP privado.
Para ativar a conetividade de IP privado, certifique-se de que cumpre todos os requisitos de rede adicionais.
Expanda esta secção para ver os requisitos de IP privado completos.
- A API Service Networking está ativada. Pode ativar a API Service Networking através da Google Cloud consola.
- Tem a autorização de IAM
servicenetworking.services.addPeering
. - Tem
configurado o acesso a serviços privados para o seu projeto, para o qual
tem de ter a
compute.networkAdmin
função do IAM. - Existe, pelo menos, uma rede VPC não antiga no seu projeto ou uma rede VPC partilhada.
- Se estiver a usar uma
rede VPC partilhada, também tem de fazer o seguinte:
- Ative a API Service Networking para o projeto anfitrião.
- Adicione o utilizador ao projeto anfitrião.
- Atribua ao utilizador a função do IAM compute.networkAdmin no projeto anfitrião.
- Selecione a rede de VPC associada para estabelecer peering. Se planeia estabelecer ligação à origem da migração através da interligação de VPCs, escolha a VPC onde a instância reside.
- Se nunca tiver sido configurada uma rede de serviços geridos para a VPC selecionada, pode optar por selecionar um intervalo de IPs e clicar em Associar ou usar um intervalo de IPs selecionado automaticamente e clicar em Atribuir e associar.
- Se quiser migrar através da Internet usando uma lista de autorizações de IPs,
selecione
IP público.
Opcionalmente, em IP público, clique no campo Redes autorizadas e autorize uma rede ou um proxy a estabelecer ligação à instância do Cloud SQL. As redes só são autorizadas com os endereços que fornecer. Consulte o artigo Configure o IP público na documentação do Cloud SQL.
Configura a conetividade da tarefa de migração num passo posterior. Para saber mais sobre os métodos de rede disponíveis, consulte Configurar conetividade.
- Se quiser migrar através da interligação de VPCs
ou de um túnel SSH inverso, selecione
IP privado.
- No campo ID da instância de destino, indique um identificador
para a instância do Cloud SQL ou use o identificador gerado automaticamente.
Selecione o tipo de máquina para a instância do Cloud SQL.
Para mais informações, consulte a secção Limitações.
- Para a edição Enterprise Plus do Cloud SQL para MySQL: selecione a caixa de verificação Ativar cache de dados
se quiser usar a funcionalidade de cache de dados na base de dados de destino.
A cache de dados é uma funcionalidade opcional disponível para instâncias da edição Enterprise Plus do Cloud SQL para MySQL que adiciona uma unidade de estado sólido local de alta velocidade à sua base de dados de destino. Esta funcionalidade pode introduzir custos adicionais no Cloud SQL. Para mais informações sobre a cache de dados, consulte o artigo Vista geral da cache de dados na documentação do Cloud SQL.
- Especifique o tipo de armazenamento da instância do Cloud SQL. Pode escolher uma unidade de estado sólido (SSD) ou uma unidade de disco rígido (HDD).
- Especifique a capacidade de armazenamento (em GB) para a instância do Cloud SQL.
Certifique-se de que a instância tem capacidade de armazenamento suficiente para processar os dados da base de dados de origem. Pode aumentar esta capacidade em qualquer altura, mas não a pode diminuir.
(Opcional) Configure as opções de encriptação de dados ou as etiquetas de recursos para a instância de destino.
Expanda esta secção para ver os passos opcionais.
Clique em Mostrar configurações opcionais e, de seguida:
Especifique se quer gerir a encriptação dos dados migrados da origem para o destino. Por predefinição, os seus dados são encriptados com uma chave gerida pela Google Cloud. Se quiser gerir a sua encriptação, pode usar uma chave de encriptação gerida pelo cliente (CMEK). Para isso:
- Selecione a caixa de verificação Usar uma chave de encriptação gerida pelo cliente (CMEK).
- No menu Selecionar uma chave gerida pelo cliente, selecione a sua CMEK.
Se não vir a chave, clique em Introduzir nome do recurso da chave para indicar o nome do recurso da chave que quer usar. Nome do recurso da chave de exemplo:
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
.- Adicione as flags necessárias a aplicar ao servidor de base de dados. Se possível, certifique-se de que os indicadores da base de dados na instância do Cloud SQL de destino criada são iguais aos da base de dados de origem. Saiba mais sobre as flags de base de dados suportadas para o MySQL.
- Adicione quaisquer
etiquetas específicas da instância do Cloud SQL.
As etiquetas ajudam a organizar as suas instâncias. Por exemplo, pode organizar as etiquetas por centro de custo ou ambiente. As etiquetas também estão incluídas na fatura para que possa ver a distribuição dos custos pelas etiquetas.
- Clique em Criar destino e continuar. O serviço de migração de base de dados está agora a criar a instância de destino do Cloud SQL. Este processo pode demorar vários minutos.
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 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 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 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.
Crie a tarefa de migração
Na página Teste e crie uma tarefa de migração, verifique as definições da tarefa de migração. Neste ponto, o teste da tarefa de migração falha, porque a conta de serviço associada à instância de destino do Cloud SQL não tem as autorizações necessárias.
Realize uma das seguintes ações antes de testar a tarefa para validar a configuração da tarefa:
- Se quiser testar a tarefa de migração através da Google Cloud consola depois de atribuir as autorizações à conta de serviço da instância de destino, clique em Guardar e sair. Esta ação guarda a tarefa de migração como rascunho. Pode voltar a este ecrã mais tarde, testar a tarefa de migração e executá-la.
- Se quiser testar a tarefa de migração através da CLI do Google Cloud depois de atribuir as autorizações à conta de serviço da instância de destino,clique em Criar. Com a Google Cloud CLI, pode testar uma tarefa de migração criada, mas ainda não iniciada.
gcloud
Crie o perfil de ligação de destino.
Quando migra para uma nova instância de destino com a CLI do Google Cloud, cria a instância de destino e o perfil de ligação numa única ação.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration connection-profiles create cloudsql
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 comandogcloud 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.
- DATABASE_VERSION com a versão do MySQL que quer usar na instância de destino. As versões da base de dados são especificadas como strings que incluem a versão principal e a versão 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 predefinição, as novas instâncias que criar
com a Google Cloud CLI usam a edição Enterprise Plus do Cloud SQL para MySQL. Se planeia usar a edição Enterprise Plus do Cloud SQL para MySQL,
certifique-se de que a sua região é suportada para essa edição. Consulte o artigo
Suporte de regiões da edição Enterprise Plus do Cloud SQL para MySQL.
Pode alterar a sua edição através da
--edition
flag com um dos seguintes valores:enterprise-plus
para a edição Enterprise Plus do Cloud SQL para MySQLenterprise
para a edição Enterprise do Cloud SQL para MySQL
-
TIER com o nome do tipo de máquina do Cloud SQL que quer usar.
Os tipos de máquinas 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 ver uma lista completa dos tipos de máquinas disponíveis e os respetivos identificadores para utilização com a CLI Google Cloud, consulte Tipos de máquinas na documentação do Cloud SQL para MySQL.As instâncias criadas com a Google Cloud CLI usam por predefinição a edição Enterprise Plus do Cloud SQL para MySQL, que tem diferentes tipos de máquinas disponíveis. Se quiser usar um tipo de máquina que só está disponível na edição Enterprise do Cloud SQL para MySQL, use a flag
--edition=enterprise
opcional para especificar a edição. - REGION com o identificador da região onde quer guardar o perfil de associação.
Por predefinição, as novas instâncias que criar com a Google Cloud CLI usam a edição Enterprise Plus do Cloud SQL para MySQL. Se planeia usar a edição Enterprise Plus do Cloud SQL para MySQL, certifique-se de que a sua região é suportada para essa edição. Consulte o artigo Suporte de regiões da edição Enterprise Plus do Cloud SQL para MySQL. Pode alterar a edição através da flag
--edition
opcional. - (Opcional) CONNECTION_PROFILE_NAME com um nome legível para o seu perfil de associação. Este valor é apresentado na Google Cloud consola.
- Configuração de rede
Por predefinição, as novas instâncias que criar com a CLI do Google Cloud têm um endereço IP público atribuído e estão configuradas para usar a conetividade IP pública. Pode usar outros métodos de conetividade. Para mais informações, consulte o artigo Configure a conetividade.
Não precisa de usar flags adicionais se quiser usar a conetividade de IP público. Se quiser usar a conetividade de IP privado com o peering de rede VPC ou um túnel SSH inverso, certifique-se de que cumpre os seguintes requisitos de rede adicionais para ativar a conetividade de IP privado e inclua flags adicionais no seu comando.
Expanda esta secção para ver os requisitos de IP privado completos.
- A API Service Networking está ativada. Pode ativar a API Service Networking através da Google Cloud consola.
- Tem a autorização de IAM
servicenetworking.services.addPeering
. - Tem
configurado o acesso a serviços privados para o seu projeto, para o qual
tem de ter a
compute.networkAdmin
função do IAM. - Existe, pelo menos, uma rede VPC não antiga no seu projeto ou uma rede VPC partilhada.
- Se estiver a usar uma
rede VPC partilhada, também tem de fazer o seguinte:
- Ative a API Service Networking para o projeto anfitrião.
- Adicione o utilizador ao projeto anfitrião.
- Atribua ao utilizador a função do IAM compute.networkAdmin no projeto anfitrião.
Inclua as seguintes flags adicionais se quiser usar a conetividade IP privada (com o intercâmbio da rede da VPC ou com um túnel SSH inverso numa VM do Compute Engine):
-
--no-enable-ip-v4
: (Opcional) Para não atribuir um endereço IP público à instância de destino. Pode ter um endereço IP público e privado atribuído à instância de destino, mas pode não querer um endereço IP público se usar a conetividade IP privada. -
--private-network
: Para atribuir um endereço IP privado à instância de destino, especifique o nome da nuvem privada virtual onde quer ter um endereço IP privado 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
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]
- Conclua a configuração da rede.
Consoante a conetividade de rede que quer usar, podem existir passos adicionais que tem de seguir antes de criar a tarefa de migração.
- Se usar a conetividade de IP público predefinida, configure a instância da base de dados de origem para permitir ligações a partir do endereço público e da porta de destino do Cloud SQL. Para mais informações, consulte Configure a conetividade através de listas de autorizações de IPs.
- Se usar um túnel SSH inverso, configure o túnel numa VM do Compute Engine. Para mais informações, consulte o artigo Configure a conetividade através de um túnel SSH inverso.
Crie a tarefa de migração.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration migration-jobs 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 comandogcloud 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.
- 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. - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
com o caminho para os ficheiros de cópia de segurança físicos armazenados numa pasta num contentor do Cloud Storage.
Use o seguinte formato:
gs://<bucket_name>/<path_to_backup_file_folder>
. - Configuração de rede
Se usar a conetividade de IP privado com o peering de redes VPC ou um túnel SSH inverso, adicione as seguintes flags ao comando:
- Conetividade de IP privado com o intercâmbio da rede da VPC
- Use a flag
--peer-vpc
para especificar o nome da rede com a qual quer estabelecer uma relação de parceria. - Túnel SSH inverso numa VM do Compute Engine
- Use as seguintes flags para fornecer detalhes de rede para o Compute Engine:
--vm-ip
,--vm-port
,--vpc
. Também pode usar a flag opcional--vm
para especificar o nome da VM.
Para ver mais exemplos de utilização, consulte Exemplos da CLI Google Cloud.
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
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]
Passo 3b. Conceda as autorizações necessárias à conta de serviço da instância do Cloud SQL
Quando cria a tarefa de migração para uma nova instância, o serviço de migração de base de dados também cria a instância do Cloud SQL de destino. Antes de poder executar a migração, tem de atribuir autorizações do Cloud Storage à conta de serviço da instância.
Para conceder as autorizações do Cloud Storage à conta de serviço associada à instância de destino, siga estes passos:
-
Encontre o endereço de email da conta de serviço da sua instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esta morada usa o seguinte
formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte a secção Ver informações da instância na documentação do Cloud SQL. -
Adicione a função de IAM Storage Object Viewer (
roles/storage.objectViewer
) à conta de serviço. Para ver informações sobre como gerir o acesso com a gestão de identidade e de acesso, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações na documentação da IAM.
Passo 3c. (Opcional) Teste a tarefa de migração
Antes de executar a tarefa de migração, pode realizar uma operação de teste para verificar se o Database Migration Service consegue alcançar todas as entidades de origem e destino necessárias. Com a CLI gcloud, pode testar tarefas de migração criadas, mas ainda não iniciadas.
Consola
Na Google Cloud consola, só pode testar tarefas de migração de rascunho que criar no assistente de criação de tarefas de migração. Se não guardou a tarefa como rascunho, mas criou-a totalmente no assistente, só pode realizar o teste através da Google Cloud CLI.
Para testar uma tarefa de migração de rascunho, siga estes passos:
- Na Google Cloud consola, aceda à página Tarefas de migração.
- No separador Rascunhos, clique no nome a apresentar da tarefa de migração
que quer terminar de criar.
É aberto o assistente de criação de tarefas de migração.
- Na página Teste e crie uma tarefa de migração, clique em Tarefa de teste. O serviço de migração de base de dados verifica agora se a instância de destino tem todas as autorizações necessárias e se consegue estabelecer ligação à base de dados de origem.
- Quando o teste terminar, clique em Criar.
A tarefa de migração é agora criada e está pronta para ser iniciada.
gcloud
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.
Passo 3d. Inicie a tarefa de migração
Quando a tarefa de migração estiver totalmente criada (ou seja, não estiver guardada num estado de rascunho), pode iniciá-la em qualquer altura para começar a migrar dados.
Para iniciar uma tarefa de migração, siga estes passos:
Consola
- Na Google Cloud consola, aceda à página Tarefas de migração.
- No separador Tarefas, clique no nome a apresentar da tarefa de migração
que quer iniciar.
É apresentada a página de detalhes da tarefa de migração.
- Clique em Iniciar.
- Na caixa de diálogo, clique em Iniciar.
gcloud
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.
-
Para migrar para uma instância de destino existente, primeiro tem de criar e configurar a instância de destino.Passo 3a. Prepare a instância de destino
Para configurar a instância do Cloud SQL de destino, siga estes passos:
-
Crie a instância de destino do Cloud SQL para MySQL. Certifique-se
de que usa recursos de computação e memória suficientes para cobrir as suas necessidades de migração.
Consulte o artigo Crie uma instância na
documentação do Cloud SQL.
Consoante o método de conetividade que quer usar para a migração, pode ter de adicionar um endereço IP público ou privado à instância de destino. Para mais informações sobre os métodos de conetividade, consulte Configurar a conetividade.
-
Conceda as autorizações do Cloud Storage à conta de serviço associada à instância de destino. Esta conta é criada depois de criar a instância de destino.
-
Encontre o endereço de email da conta de serviço da sua instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esta morada usa o seguinte
formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte Ver informações da instância na documentação do Cloud SQL. -
Adicione a função de IAM Storage Object Viewer (
roles/storage.objectViewer
) à conta de serviço. Para ver informações sobre como gerir o acesso com a gestão de identidade e de acesso, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações na documentação da IAM.
-
Encontre o endereço de email da conta de serviço da sua instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esta morada usa o seguinte
formato:
- Crie um perfil de ligação de destino para a sua instância do Cloud SQL.
Consola
Não precisa de criar o perfil de associação de destino. Quando cria uma tarefa de migração na Google Cloud consola, usa o identificador da instância de destino e o serviço de migração de bases de dados gere o perfil de ligação por si.
Aceda à secção Crie e execute a tarefa de migração.
gcloud
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 comandogcloud 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]
Passo 3b. Crie e execute a tarefa de migração
Consola
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 Database Migration Service.
- 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 Definir 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 despejo completo, no menu pendente Método de despejo completo, selecione Baseado em físico.
- Em Indique a sua pasta, clique em Procurar e, em seguida, selecione a pasta onde carregou o ficheiro de despejo completo (passo 4 na secção Prepare os dados de origem).
- Clique em Guardar.
- 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 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 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 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 o artigo Diagnostique problemas do MySQL.
-
Quando o teste da tarefa de migração terminar, clique em Criar e iniciar tarefa.
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.
gcloud
Para configurar e executar a migração, siga estes passos:
Crie a tarefa de migração.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration migration-jobs 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 comandogcloud 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.
- 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. - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
com o caminho para os ficheiros de cópia de segurança físicos armazenados numa pasta num contentor do Cloud Storage.
Use o seguinte formato:
gs://<bucket_name>/<path_to_backup_file_folder>
. - Configuração de rede
Se usar a conetividade de IP privado com o peering de redes VPC ou um túnel SSH inverso, adicione as seguintes flags ao comando:
- Conetividade de IP privado com o intercâmbio da rede da VPC
- Use a flag
--peer-vpc
para especificar o nome da rede com a qual quer estabelecer uma relação de parceria. - Túnel SSH inverso numa VM do Compute Engine
- Use as seguintes flags para fornecer detalhes de rede para o Compute Engine:
--vm-ip
,--vm-port
,--vpc
. Também pode usar a flag opcional--vm
para especificar o nome da VM.
Para ver mais exemplos de utilização, consulte Exemplos da CLI Google Cloud.
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
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 sua 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 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.
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
-
(Opcional) Execute um teste de tarefa de migração
Pode executar uma verificação para confirmar se o serviço de migração de bases de dados consegue alcançar todas as entidades de origem e destino necessárias. Execute o seguinte comando (clique no link para expandir):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.
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
-
Inicie a tarefa de migração.
Execute o seguinte comando (clique no link para expandir):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.
Quando inicia a tarefa de migração, a instância do Cloud SQL de destino é colocada num modo só de leitura, em que é totalmente gerida pelo Database Migration Service. Pode promovê-la a uma instância autónoma quando os dados estiverem totalmente migrados.
Nota: pode monitorizar o progresso da migração, bem como o estado da instância de destino, com as funcionalidades de observabilidade do Database Migration Service. Consulte [Métricas da tarefa de migração](/database-migration/docs/mysql/migration-job-metrics).
- MIGRATION_JOB_ID com o identificador da tarefa de migração.
-
Crie a instância de destino do Cloud SQL para MySQL. Certifique-se
de que usa recursos de computação e memória suficientes para cobrir as suas necessidades de migração.
Consulte o artigo Crie uma instância na
documentação do Cloud SQL.
Passo 4. (Opcional) Pare a migração
Pode parar e eliminar a tarefa de migração em qualquer altura se quiser cancelar o processo de migração de dados. Pode gerir a tarefa de migração na Google Cloud consola ou com a CLI do Google Cloud.
Para obter informações sobre a gestão de tarefas de migração na Google Cloud consola, consulte o artigo Faça a gestão de tarefas de migração.
Para informações sobre a gestão de tarefas de migração com a CLI do Google Cloud, consulte a referência
gcloud database-migration migration-jobs
.
Passo 5. Finalize a migração
Quando a tarefa de migração for concluída com êxito, finalize a tarefa de migração executando um dos seguintes passos:
Para migrações únicas: o estado da tarefa de migração muda para Concluído. Não são necessárias mais ações. Pode limpar os recursos do perfil de ligação e da tarefa de migração.
Para migrações contínuas: promova a tarefa de migração para mudar a sua aplicação para a nova instância da base de dados.