Você pode migrar seus bancos de dados MySQL para o Cloud SQL usando arquivos de backup de banco de dados físico criados com o utilitário Percona XtraBackup for MySQL . A migração com arquivos de backup físicos oferece maiores velocidades de restauração de dados em relação às migrações que usam arquivos de backup lógicos. Isso os torna uma ótima opção para mover grandes bancos de dados que contêm vários terabytes de dados.
Este fluxo de migração envolve as seguintes tarefas:
Fazendo backup de sua instância MySQL de origem e preparando os arquivos de backup físico usando o utilitário Percona XtraBackup for MySQL .
Fazer upload dos arquivos de backup para um intervalo do Cloud Storage.
Criando e executando o trabalho de migração no Database Migration Service.
Dependendo do seu cenário, você pode criar a instância de destino por conta própria ou fazer com que o Database Migration Service crie a instância de destino para você como parte do fluxo de criação do trabalho de migração. Para obter mais informações, consulte a etapa Configurar e executar a tarefa de migração .
Promover o trabalho de migração após a migração completa dos dados.
Migrações off-line
Este guia descreve cenários de migração para ambientes onde você pode garantir a conectividade de rede entre as instâncias de banco de dados de origem e de destino.
É possível realizar uma migração de teste em que o Database Migration Service não se conecte à sua instância de origem. Em vez disso, o Database Migration Service lê apenas os arquivos de backup enviados para o bucket do Cloud Storage e replica o conteúdo deles para o destino do Cloud SQL para MySQL. Um fluxo de migração que não utiliza conectividade de rede não é recomendado para migrações de produção, uma vez que o Serviço de Migração de Base de Dados não consegue realizar totalmente a validação de dados.
Caso queira tentar realizar um trabalho de migração offline, ajuste os procedimentos da seguinte forma:
Ao criar o perfil de conexão de origem , use um exemplo de endereço IP, porta, nome de usuário e senha. Por exemplo:
- IP:
0.0.0.0
- Porto:
1234
- Nome de usuário de migração:
test-user
- IP:
Ao criar o trabalho de migração :
- Use conectividade IP pública. Não configure nenhuma opção de rede adicional.
- Use o tipo de trabalho de migração única .
Limitações
Esta seção lista as limitações para as migrações que usam arquivos físicos Percona XtraBackup:
A migração para MySQL 5.6 ou 8.4 com um arquivo de backup físico não é suportada. Consulte Limitações conhecidas .
Considerações sobre versões cruzadas:
- Você só pode migrar dentro da mesma versão principal do banco de dados, por exemplo, do MySQL 8.0.30 para o MySQL 8.0.35 ou do MySQL 5.7.0 para o MySQL 5.7.1.
Você 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 do banco de dados anteriores. Por exemplo, você não pode migrar do MySQL 8.0 para 5.7 ou do MySQL 8.0.36 para 8.0.16.
Considerações entre arquiteturas: o Cloud SQL é compatível com a arquitetura ARM. Você só pode migrar bancos de dados entre máquinas do mesmo tipo de arquitetura. Por exemplo, se seu banco de dados estiver hospedado em uma máquina ARM64, você deverá migrar para uma máquina ARM64.
O tamanho do disco do banco de dados de destino deve ser igual ou maior que o tamanho do banco de dados de origem. Para mais informações, consulte Tipos de máquina MySQL para sua edição do Cloud SQL.
Você deve usar o Percona XtraBackup para fazer backup de seus dados no bucket do Cloud Storage. Outros utilitários de backup não são suportados.
A migração de banco de dados de um arquivo físico Percona XtraBackup só é compatível com bancos de dados VM MySQL locais ou autogerenciados. A migração do Amazon Aurora ou MySQL em bancos de dados Amazon RDS não é compatível.
Você só pode migrar de um backup completo. Outros tipos de backup, como backups incrementais ou parciais, não são suportados.
A migração de banco de dados não inclui usuários ou privilégios de banco de dados.
Você deve definir o formato do log binário como
ROW
. Se você configurar o log binário para qualquer outro formato, comoSTATEMENT
ouMIXED
, a replicação poderá falhar.Qualquer banco de dados com tabela maior que 5 TB não é compatível.
O Cloud Storage limita o tamanho de um arquivo que pode ser enviado para um bucket a 5 TB. Se o arquivo físico do Percona XtraBackup exceder 5 TB, você deverá dividir o arquivo de backup em arquivos menores.
Certifique-se de fazer upload dos arquivos de backup para uma pasta dedicada do Cloud Storage que não contém nenhum outro arquivo.
Você deve configurar o parâmetro
innodb_data_file_path
com apenas um arquivo de dados que usa o nome de arquivo de dados padrãoibdata1
. Se o seu banco de dados estiver configurado com dois arquivos de dados ou tiver um arquivo de dados com um nome diferente, você não poderá migrar o banco de dados usando um arquivo físico Percona XtraBackup. Por exemplo, um banco de dados configurado cominnodb_data_file_path=ibdata01:50M:autoextend
não é suportado para a migração.O parâmetro
innodb_page_size
na sua instância de origem deve ser configurado com o valor padrão16384
.Você não pode migrar nenhum plugin do seu banco de dados externo.
Custos
Para migrações homogêneas para o Cloud SQL, o Database Migration Service é oferecido sem custo adicional. No entanto, os preços do Cloud SQL e do Cloud Storage se aplicam a cobranças de rede, bem como a entidades do Cloud SQL e do Cloud Storage criadas para fins de migração.
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- Cloud Storage
- Cloud SQL
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Considere em qual região você deseja criar o banco de dados de destino. O Database Migration Service é um produto totalmente regional, o que significa que todas as entidades relacionadas à sua migração (perfis de conexão de origem e destino, trabalhos de migração, bancos de dados de destino, buckets de armazenamento) devem ser salvas em uma ú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 obrigatórias
Para obter as permissões necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físico, peça ao administrador para conceder a você as seguintes funções do IAM em seu projeto:
- Conta de usuário que realiza a migração:
- Administrador de migração de banco de dados (
roles/datamigration.admin
) - Visualizador de objetos de armazenamento (
roles/storage.objectViewer
) - Editor do Cloud SQL (
roles/cloudsql.editor
)
- Administrador de migração de banco de dados (
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Essas funções predefinidas contêm as permissões necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físico. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :
Permissões necessárias
As seguintes permissões são necessárias para realizar migrações homogêneas do MySQL usando arquivos de backup físico:
- Conta de usuário que realiza a migração:
-
datamigration.*
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
cloudsql.instances.create
-
cloudsql.instances.get
-
cloudsql.instances.list
-
compute.machineTypes.list
-
compute.machineTypes.get
-
compute.projects.get
-
storage.buckets.create
-
storage.buckets.list
-
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Etapa 1. Considere seus requisitos de conectividade de rede
Existem diferentes métodos de rede que você pode usar para configurar a conectividade entre as instâncias de origem e de destino do Cloud SQL. Dependendo do método usado, pode haver etapas adicionais que você precisa executar durante o processo de migração.
Considere qual método de conectividade é adequado para o seu cenário antes de prosseguir para as próximas etapas, pois sua escolha pode afetar as configurações que você precisa usar. Para obter mais informações, consulte Configurar conectividade .
Passo 2. Prepare seus dados de origem
Para preparar seus dados para migração, execute as seguintes etapas:
- Instale a versão correta do utilitário Percona XtraBackup em sua instância de origem. Você deve usar uma versão do Percona XtraBackup igual ou posterior à versão da instância de origem. Para obter mais informações, consulte Comparação de versão do servidor e versão de backup na documentação do Percona XtraBackup.
- Para MySQL 5.7, instale Percona XtraBackup 2.4 .
- Para MySQL 8.0, instale o Percona XtraBackup 8.0 .
- Exporte e prepare o arquivo de backup físico da sua instância de origem usando Percona XtraBackup. Para obter informações completas sobre o uso do Percona XtraBackup, consulte a documentação da ferramenta. Você também pode expandir a seção a seguir para ver um exemplo de etapas recomendadas.
Exemplos de etapas recomendadas para criar e preparar arquivos de backup físico usando Percona XtraBackup
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- TARGET_DIR com o caminho onde você deseja salvar o arquivo de backup de saída.
- USERNAME com um usuário que possui o privilégio
BACKUP_ADMIN
na instância de origem. - PASSWORD com a senha da conta USERNAME .
- Execute um backup físico completo da sua instância de origem. Execute o seguinte comando:
xtrabackup --backup \ --target-dir=TARGET_DIR \ --user=USERNAME \ --password=PASSWORD
- Quando o arquivo de backup estiver pronto, use o comando
--prepare
para garantir a consistência do arquivo. Execute o seguinte comando:xtrabackup --prepare --target-dir=TARGET_DIR
- Crie seu bucket para armazenar os arquivos de backup. Use a mesma região onde você pretende criar sua instância de destino do Cloud SQL para MySQL.
O Database Migration Service é um produto totalmente regional, o que significa que todas as entidades relacionadas à sua migração (perfis de conexão de origem e destino, trabalhos de migração, bancos de dados de destino, buckets de armazenamento para arquivos de backup) devem ser salvas em uma única região.
- Faça upload dos arquivos de backup para seu intervalo do Cloud Storage. Certifique-se de fazer upload dos arquivos de backup para uma pasta dedicada do Cloud Storage que não contém nenhum outro arquivo. Consulte Fazer upload de objetos de um sistema de arquivos na documentação do Cloud Storage.
- Crie o perfil de conexão de origem para sua instância de banco de dados de origem.
Console
Para criar um perfil de conexão de origem, siga estas etapas:
- Vá para a página Perfis de conexão no Google Cloud Console.
- Clique em Criar perfil .
- Na página Criar um perfil de conexão , no menu suspenso Mecanismo de banco de dados , selecione MySQL
- No campo Nome do perfil de conexão , insira um nome legível para seu perfil de conexão. Este valor é exibido na lista de perfis de conexão.
- Mantenha o ID do perfil de conexão gerado automaticamente.
- Insira um nome de host ou endereço IP .
Se o banco de dados de origem estiver hospedado em Google Cloudou se um túnel SSH reverso for usado para conectar o banco de dados de destino ao banco de dados de origem, especifique o endereço IP privado (interno) do banco de dados de origem. Esse endereço poderá ser acessado pelo destino do Cloud SQL. Para obter mais informações, consulte Configurar a conectividade usando peering de VPC .
Para outros métodos de conectividade, como lista de permissões de IP , forneça o endereço IP público.
- Insira a porta usada para acessar o host. A porta padrão do MySQL é 3306.
- Insira um nome de usuário e uma senha para o banco de dados de destino. A conta de usuário deve ter os privilégios necessários para acessar seus dados. Para obter mais informações, consulte Configurar seu banco de dados de origem .
- Na seção Região do perfil de conexão da página, selecione a região onde deseja salvar o perfil de conexão.
Opcional: se a conexão for feita em uma rede pública (usando listas de permissões de IP), recomendamos o uso de criptografia SSL/TLS para a conexão entre os bancos de dados de origem e de destino.
Existem três opções para a configuração SSL/TLS que você pode selecionar na seção Proteja sua conexão da página:
- Nenhum: a instância de destino do Cloud SQL se conecta ao banco de dados de origem sem criptografia.
Autenticação somente de servidor: quando a instância de destino do Cloud SQL se conecta ao banco de dados de origem, a instância autentica a origem, garantindo que ela esteja se conectando ao host correto com segurança. Isso evita ataques person-in-the-middle. Para autenticação somente de servidor, a origem não autentica a instância.
Para usar a autenticação somente de servidor, você deve fornecer o certificado x509 codificado por PEM da autoridade de certificação (CA) que assinou o certificado do servidor externo.
- Autenticação servidor-cliente: quando a instância de destino se conecta à origem, a instância autentica a origem e a origem autentica a instância.
A autenticação servidor-cliente fornece a segurança mais forte. No entanto, se você não quiser fornecer o certificado do cliente e a chave privada ao criar a instância de destino do Cloud SQL, ainda poderá usar a autenticação somente do servidor.
Para usar a autenticação servidor-cliente, você deve fornecer os seguintes itens ao criar o perfil de conexão de destino:
- O certificado da CA que assinou o certificado do servidor de banco de dados de origem (o certificado CA).
- O certificado usado pela instância para autenticação no servidor de banco de dados de origem (o certificado do cliente).
- A chave privada associada ao certificado do cliente (a chave do cliente).
- Clique em Criar . Seu perfil de conexão foi criado.
gcloud
Este exemplo usa o sinalizador opcional
--no-async
para que todas as operações sejam executadas de forma síncrona. Isso significa que alguns comandos podem demorar um pouco para serem concluídos. Você pode pular o sinalizador--no-async
para executar comandos de forma assíncrona. Se fizer isso, você precisará usar o comandogcloud database-migration operations describe
para verificar se sua operação foi bem-sucedida.Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
- REGION com o identificador da região onde deseja salvar o perfil de conexão.
- HOST_IP_ADDRESS pelo endereço IP onde o Database Migration Service pode acessar sua instância de banco de dados de origem. Esse valor pode variar dependendo do método de conectividade usado para sua migração.
- PORT_NUMBER pelo número da porta onde seu banco de dados de origem aceita conexões de entrada. A porta padrão do MySQL é 3306.
- USERNAME pelo nome da conta de usuário do banco de dados que você deseja que o Database Migration Service conecte à instância do banco de dados de origem.
- PASSWORD com a senha da conta do usuário do banco de dados.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legível para seu perfil de conexão. Este valor é exibido no Google Cloud console.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
Você deverá 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]
Etapa 3. Configurar e executar o trabalho de migração
Ao migrar com o Percona XtraBackup, você pode criar a instância de destino do Cloud SQL por conta própria ou solicitar que o Database Migration Service a crie para você. Para obter mais informações, consulte Visão geral da criação de trabalhos de migração .
Cada uma dessas abordagens exige que você siga um conjunto de procedimentos ligeiramente diferente. Use o menu suspenso para mostrar os procedimentos relevantes para o seu cenário:
- Se desejar que o Database Migration Service crie o banco de dados de destino para você, selecione Migrar para uma nova instância de destino .
- Se desejar migrar para um banco de dados de destino criado fora do Database Migration Service, selecione Migrar para uma instância de destino existente .
Quando você migra para uma nova instância de destino, o Database Migration Service cria a instância de destino do Cloud SQL para MySQL para você durante o fluxo de criação do job de migração.Etapa 3a. Crie o trabalho de migração para uma nova instância de destino
Para criar um trabalho de migração para uma nova instância de destino, siga estas etapas:Console
Definir configurações para o trabalho de migração
- No Google Cloud console, acesse a página Trabalhos de migração .
- Clique em Criar trabalho de migração .
A página do assistente de configuração da tarefa de migração é aberta. Este assistente contém vários painéis que orientam você em cada etapa de configuração.
Você pode pausar a criação de um trabalho de migração a qualquer momento clicando em SALVAR E SAIR . Todos os dados inseridos até esse ponto são salvos em um trabalho de migração de rascunho. Você pode concluir seu trabalho de migração preliminar mais tarde.
- Na página Introdução , insira as seguintes informações:
- Nome do trabalho de migração
Este é um nome legível para o seu trabalho de migração. Este valor é exibido no Google Cloud console.
- ID do trabalho de migração
Este é um identificador legível por máquina para seu trabalho de migração. Você usa esse valor para trabalhar com jobs de migração usando comandos ou API da CLI do Google Cloud do serviço de migração de banco de dados.
- Na lista Mecanismo de banco de dados de origem , selecione MySQL .
O campo Mecanismo de banco de dados de destino é preenchido automaticamente e não pode ser alterado.
- Selecione a região onde você salva o trabalho de migração.
O Database Migration Service é um produto totalmente regional, o que significa que todas as entidades relacionadas à sua migração (perfis de conexão de origem e destino, trabalhos de migração, bancos de dados de destino) devem ser salvas em uma única região. Selecione a região com base na localização dos serviços que precisam dos seus dados, como instâncias do Compute Engine ou aplicativos do App Engine e outros serviços. Depois de escolher a região de destino, esta seleção não poderá ser alterada.
- Nome do trabalho de migração
- Clique em Salvar e continuar .
Especifique informações sobre o perfil de conexão de origem
- Na página Definir uma origem , execute as seguintes etapas:
- No menu suspenso Perfil de conexão de origem , selecione o perfil de conexão para seu banco de dados de origem.
- Na seção Personalizar configuração de dump completo , clique em Editar configuração .
- No painel Editar configuração de dump completo , no menu suspenso Método de dump completo , selecione Baseado em físico .
- Em Forneça sua pasta, clique em Procurar e selecione a pasta onde você carregou seu arquivo de despejo completo (etapa 3 na seção Preparar seus dados de origem ).
- Clique em Salvar .
- Clique em Salvar e continuar .
Configurar e criar a instância de destino do Cloud SQL
- Na página Definir um destino , no menu suspenso Tipo de instância de destino , selecione Nova instância . Defina todas as configurações relevantes:
- No campo ID da instância de destino , forneça um identificador para a instância do Cloud SQL ou use o identificador gerado automaticamente.
Não inclua informações confidenciais ou de identificação pessoal no identificador. Não há necessidade de incluir o ID do projeto no nome da instância. Isto é feito automaticamente quando apropriado (por exemplo, nos arquivos de log).
- No campo Senha , forneça uma senha alfanumérica para a instância de destino do Cloud SQL. Esta é a senha da conta do administrador
root
na instância.Você pode inserir a senha manualmente ou clicar em Gerar para que o Database Migration Service crie uma para você automaticamente.
- No menu suspenso Versão do banco de dados , escolha a versão do banco de dados para a instância de destino.
Clique em Mostrar versões secundárias para visualizar todas as versões secundárias. Saiba mais sobre o suporte à migração entre versões.
- Selecione a edição do Cloud SQL para MySQL para sua instância de destino. Há duas opções disponíveis: Cloud SQL para MySQL edição Enterprise e Cloud SQL para MySQL edição Enterprise Plus .
As edições do Cloud SQL para MySQL vêm com diferentes conjuntos de recursos, tipos de máquinas disponíveis e preços. Consulte a documentação do Cloud SQL para escolher a edição adequada às suas necessidades. Para obter mais informações, consulte Introdução às edições do Cloud SQL para MySQL .
- O menu Região mostra a mesma região selecionada na página Introdução .
Se você estiver configurando sua instância para alta disponibilidade , selecione Várias zonas (altamente disponíveis) . Você pode selecionar a zona primária e a secundária. As seguintes condições se aplicam quando a zona secundária é usada durante a criação da instância:
- O padrão das zonas é Qualquer para a zona primária e Qualquer (diferente da primária) para a zona secundária.
- Se as zonas primária e secundária forem especificadas, elas deverão ser zonas diferentes.
- Na seção Conexões , escolha se deseja adicionar um endereço IP público ou privado para sua instância de destino. Você pode configurar sua instância para ter os dois tipos de endereços IP, mas pelo menos um tipo é necessário para a migração. Selecione um dos seguintes:
- Se você quiser migrar usando peering de VPC ou um túnel SSH reverso, selecione IP privado .
Para ativar a conectividade IP privada, certifique-se de atender a todos os requisitos adicionais de rede.
Expanda esta seção para ver todos os requisitos de IP privado.
- A API de rede de serviços está habilitada. Você pode ativar a API Service Networking usando o Google Cloud console.
- Você tem a permissão do IAM
servicenetworking.services.addPeering
. - Você configurou o acesso a serviços privados para seu projeto, para o qual você precisa ter a função do IAM
compute.networkAdmin
. - Há pelo menos uma rede VPC não legada no seu projeto ou uma rede VPC compartilhada.
- Se você estiver usando uma rede VPC compartilhada , também precisará fazer o seguinte:
- Habilite a API Service Networking para o projeto host.
- Adicione seu usuário ao projeto host.
- Dê ao seu usuário a função do IAM computa.networkAdmin no projeto host.
- Selecione a rede VPC associada para fazer peering. Se você planeja se conectar à origem de migração usando peering de VPC, escolha a VPC onde a instância reside.
- Se uma rede de serviço gerenciado nunca tiver sido configurada para a VPC selecionada, você poderá selecionar um intervalo de IP e clicar em Conectar ou usar um intervalo de IP selecionado automaticamente e clicar em Alocar e conectar .
- Se você quiser migrar pela Internet usando uma lista de permissões de IP, selecione IP público .
Opcionalmente, em IP público , clique no campo Redes autorizadas e autorize uma rede ou um proxy a se conectar à instância do Cloud SQL. As redes só são autorizadas com os endereços que você fornece. Consulte Configurar IP público na documentação do Cloud SQL.
Você configura a conectividade do trabalho de migração em uma etapa posterior. Para saber mais sobre os métodos de rede disponíveis, consulte Configurar conectividade .
- Se você quiser migrar usando peering de VPC ou um túnel SSH reverso, selecione IP privado .
- No campo ID da instância de destino , forneça um identificador para a instância do Cloud SQL ou use o identificador gerado automaticamente.
Selecione o tipo de máquina da instância do Cloud SQL.
Para obter mais informações, consulte Limitações .
- Para a edição Cloud SQL para MySQL Enterprise Plus : marque a caixa de seleção Habilitar cache de dados se quiser usar o recurso de cache de dados no banco de dados de destino.
O cache de dados é um recurso opcional disponível para instâncias da edição Enterprise Plus do Cloud SQL para MySQL que adiciona uma unidade de estado sólido local de alta velocidade ao banco de dados de destino. Esse recurso pode gerar custos adicionais ao Cloud SQL. Para mais informações sobre cache de dados, consulte Visão geral do cache de dados na documentação do Cloud SQL.
- Especifique o tipo de armazenamento da instância do Cloud SQL. Você pode escolher uma unidade de estado sólido (SSD) ou uma unidade de disco rígido (HDD).
- Especifique a capacidade de armazenamento (em GBytes) da instância do Cloud SQL.
Certifique-se de que a instância tenha capacidade de armazenamento suficiente para lidar com os dados do seu banco de dados de origem. Você pode aumentar essa capacidade a qualquer momento, mas não pode diminuí-la.
(Opcional) Configure opções de criptografia de dados ou rótulos de recursos para sua instância de destino.
Expanda esta seção para ver as etapas opcionais.
Clique em Mostrar configurações opcionais e depois:
Especifique se deseja gerenciar a criptografia dos dados migrados da origem para o destino. Por padrão, seus dados são criptografados com uma chave gerenciada por Google Cloud. Se quiser gerenciar sua criptografia, você poderá usar uma chave de criptografia gerenciada pelo cliente (CMEK). Para fazer isso:
- Marque a caixa de seleção Usar uma chave de criptografia gerenciada pelo cliente (CMEK) .
- No menu Selecionar uma chave gerenciada pelo cliente , selecione sua CMEK.
Se você não vir sua chave, clique em Insira o nome do recurso de chave para fornecer o nome do recurso da chave que deseja usar. Exemplo de nome de recurso de chave:
projects/ my-project-name /locations/ my-location /keyRings/ my-keyring /cryptoKeys/ my-key
.- Adicione quaisquer sinalizadores necessários para serem aplicados ao servidor de banco de dados. Se possível, certifique-se de que as sinalizações do banco de dados na instância de destino do Cloud SQL criada sejam iguais às do banco de dados de origem. Saiba mais sobre sinalizadores de banco de dados compatíveis com MySQL .
- Adicione todos os rótulos específicos da instância do Cloud SQL.
Os rótulos ajudam a organizar suas instâncias. Por exemplo, você pode organizar etiquetas por centro de custo ou ambiente. As etiquetas também estão incluídas na sua fatura para que você possa ver a distribuição dos custos nas suas etiquetas.
- Clique em Criar destino e continue . O Database Migration Service agora está criando sua instância de destino do Cloud SQL. Este processo pode levar vários minutos.
Configurar a conectividade entre as instâncias de banco de dados de origem e de destino
No menu suspenso Método de conectividade , selecione um método de conectividade de rede. Este método define como a instância recém-criada do Cloud SQL se conectará ao banco de dados de origem. Os métodos atuais de conectividade de rede incluem lista de permissões de IP, túnel SSH reverso e peering de VPC .
Se você quiser usar... Então... O método de conectividade de rede da lista de permissões de IP, Você precisa especificar o endereço IP de saída da sua instância de destino. Se a instância do Cloud SQL que você criou for uma instância de alta disponibilidade, inclua os endereços IP de saída da instância primária e da instância secundária. O método de conectividade de rede de túnel SSH reverso, Você precisa selecionar a instância de VM do Compute Engine que hospedará o túnel. Depois de especificar a instância, o Google fornecerá um script que executa as etapas para configurar o túnel entre os bancos de dados de origem e de destino. Você precisará executar o script na CLI do Google Cloud .
Execute os comandos em uma máquina que tenha conectividade com o banco de dados de origem e com o Google Cloud.
O método de conectividade de rede de peering de VPC, Você precisa selecionar a rede VPC onde reside o banco de dados de origem. A instância do Cloud SQL será atualizada para se conectar a esta rede. Depois de selecionar e configurar a conectividade de rede, clique em Configurar e continuar .
Crie o trabalho de migração
Em Testar e criar trabalho de migração , verifique as configurações do trabalho de migração. Neste ponto, o teste do job de migração falhará porque a conta de serviço associada à instância de destino do Cloud SQL não tem as permissões necessárias.
Execute uma das seguintes ações antes de testar o trabalho para validar a configuração do trabalho:
- Se você quiser testar seu trabalho de migração usando o Google Cloud console depois de atribuir as permissões à conta de serviço da instância de destino, clique em Salvar e sair . Esta ação salva seu trabalho de migração como rascunho. Você pode voltar a esta tela mais tarde, testar seu trabalho de migração e executá-lo.
- Se você quiser testar seu job de migração usando a CLI do Google Cloud depois de atribuir as permissões à conta de serviço da instância de destino, clique em Criar . Com a CLI do Google Cloud, você pode testar um job de migração criado, mas ainda não iniciado.
gcloud
Crie o perfil de conexão de destino.
Ao migrar para uma nova instância de destino com a CLI do Google Cloud, você cria a instância de destino e o perfil de conexão em uma única ação.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration connection-profiles create cloudsql
Este exemplo usa o sinalizador opcional
--no-async
para que todas as operações sejam executadas de forma síncrona. Isso significa que alguns comandos podem demorar um pouco para serem concluídos. Você pode pular o sinalizador--no-async
para executar comandos de forma assíncrona. Se fizer isso, você precisará usar o comandogcloud database-migration operations describe
para verificar se sua operação foi bem-sucedida.Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
- DATABASE_VERSION pela versão do MySQL que você deseja usar na instância de destino. As versões do banco de dados são especificadas como strings que incluem a versão principal e 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 do sinalizador --database-version .
- (Opcional) EDITION Por padrão, as novas instâncias criadas com a CLI do Google Cloud usam a edição Cloud SQL para MySQL Enterprise Plus. Se você planeja usar a edição Cloud SQL para MySQL Enterprise Plus, verifique se sua região é compatível com essa edição. Consulte Suporte regional da edição Cloud SQL para MySQL Enterprise Plus .
Você pode alterar sua edição usando o sinalizador
--edition
com um dos seguintes valores:-
enterprise-plus
para a edição Cloud SQL para MySQL Enterprise Plus -
enterprise
para a edição Enterprise do Cloud SQL para MySQL
-
- TIER pelo nome do tipo de máquina do Cloud SQL que você quer usar. Os tipos de máquina são especificados como strings que seguem a convenção do Cloud SQL, por exemplo
db-n1-standard-1
,db-perf-optimized-N-2
. Para ver uma lista completa dos tipos de máquinas disponíveis e seus identificadores para uso com a CLI do Google Cloud, consulte Tipos de máquinas na documentação do Cloud SQL para MySQL.Por padrão, as instâncias criadas com Google Cloud CLI usam a edição Cloud SQL para MySQL Enterprise Plus, que tem diferentes tipos de máquinas disponíveis. Se você quiser usar um tipo de máquina disponível apenas na edição Enterprise do Cloud SQL para MySQL, use a sinalização opcional
--edition=enterprise
para especificar a edição. - REGION com o identificador da região onde deseja salvar o perfil de conexão.
Por padrão, as novas instâncias criadas com a CLI do Google Cloud usam a edição Cloud SQL para MySQL Enterprise Plus. Se você planeja usar a edição Cloud SQL para MySQL Enterprise Plus, verifique se sua região é compatível com essa edição. Consulte Suporte regional da edição Cloud SQL para MySQL Enterprise Plus . Você pode alterar a edição usando o sinalizador opcional
--edition
. - (Opcional) CONNECTION_PROFILE_NAME com um nome legível para seu perfil de conexão. Este valor é exibido no Google Cloud console.
- Configuração de rede
Por padrão, as novas instâncias criadas com a CLI do Google Cloud têm um endereço IP público atribuído e são configuradas para usar conectividade IP pública. Você pode usar outros métodos de conectividade. Para obter mais informações, consulte Configurar conectividade .
Você não precisa usar sinalizadores adicionais se quiser usar a conectividade IP pública. Se você quiser usar a conectividade IP privada com peering de rede VPC ou um túnel SSH reverso, atenda aos seguintes requisitos de rede adicionais para ativar a conectividade IP privada e inclua sinalizações adicionais em seu comando.
Expanda esta seção para ver todos os requisitos de IP privado.
- A API de rede de serviços está habilitada. Você pode ativar a API Service Networking usando o Google Cloud console.
- Você tem a permissão do IAM
servicenetworking.services.addPeering
. - Você configurou o acesso a serviços privados para seu projeto, para o qual você precisa ter a função do IAM
compute.networkAdmin
. - Há pelo menos uma rede VPC não legada no seu projeto ou uma rede VPC compartilhada.
- Se você estiver usando uma rede VPC compartilhada , também precisará fazer o seguinte:
- Habilite a API Service Networking para o projeto host.
- Adicione seu usuário ao projeto host.
- Dê ao seu usuário a função do IAM computa.networkAdmin no projeto host.
Inclua as sinalizações adicionais a seguir se quiser usar a conectividade IP privada ( com peering de rede VPC ou com um túnel SSH reverso em uma VM do Compute Engine ):
-
--no-enable-ip-v4
: (opcional) para não atribuir um endereço IP público à sua instância de destino. Você pode ter um endereço IP público e público atribuído à sua instância de destino, mas pode não querer um endereço IP público se usar a conectividade IP privada. -
--private-network
: Para atribuir um endereço IP privado à sua instância de destino, especifique o nome da nuvem privada virtual onde você deseja 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
Você deve receber uma resposta semelhante ao 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]
- Preencha a configuração da rede.
Dependendo da conectividade da rede que você deseja usar, pode haver etapas adicionais que você precisa seguir antes de criar o trabalho de migração.
- Se você usar a conectividade IP pública padrão, configure a instância do banco de dados de origem para permitir conexões do endereço público e da porta do seu destino SQL em nuvem. Para obter mais informações, consulte Configurar a conectividade usando listas de permissões IP .
- Se você usar um túnel SSH reverso , configure o túnel em uma VM de mecanismo de computação. Para obter mais informações, consulte Configurar a conectividade usando um túnel SSH reverso .
Crie o trabalho de migração.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration migration-jobs create
Esta amostra usa o sinalizador opcional
--no-async
para que todas as operações sejam executadas de maneira síncrona. Isso significa que alguns comandos podem demorar um pouco para concluir. Você pode pular o sinalizador--no-async
para executar comandos de forma assíncrona. Se o fizer, você precisa usar asgcloud database-migration operations describe
o comando para verificar se sua operação é bem-sucedida.Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para o seu trabalho de migração. Você usa esse valor para trabalhar com trabalhos de migração usando o serviço de migração de banco de dados Google Cloud Cli Commands ou API.
- REGION com o identificador da região, onde você deseja salvar o trabalho de migração.
- MIGRATION_JOB_NAME com um nome legível por humanos para o seu trabalho de migração. Este valor é exibido no serviço de migração de banco de dados no Google Cloud console.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
- MIGRATION_JOB_TYPE com o tipo de seu trabalho de migração. Dois valores são permitidos:
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 seus arquivos de backup físico armazenados em uma pasta em um balde de armazenamento em nuvem. Use o seguinte formato:
gs://< bucket_name >/< path_to_backup_file_folder>
. - Configuração de rede
Se você usar a conectividade IP privada com a rede de rede VPC ou um túnel reverso-SSH, adicione os seguintes sinalizadores ao seu comando:
- Conectividade IP privada com peering de rede VPC
- Use o sinalizador
--peer-vpc
para especificar o nome da rede com que você deseja espiar. - Túnel reverso-SSH em uma VM de mecanismo de computação
- Use os seguintes sinalizadores para fornecer detalhes de rede para o mecanismo de computação:
--vm-ip
,--vm-port
,--vpc
. Você também pode usar o sinalizador opcional--vm
para especificar o nome da VM.
Para mais exemplos de uso, consulte Exemplos do Google Cloud CLI .
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Você deve receber uma resposta semelhante ao 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]
Etapa 3b. Conceda as permissões necessárias à conta de serviço de instância SQL em nuvem
Quando você cria o trabalho de migração para uma nova instância, o serviço de migração de banco de dados também cria a instância de SQL de destino em nuvem para você. Antes de poder executar a migração, você precisa atribuir permissões de armazenamento em nuvem para a conta de serviço da instância.
Para conceder as permissões de armazenamento em nuvem à conta de serviço associada à sua instância de destino, siga estas etapas:
- Encontre o endereço de email da conta de serviço para a sua instância do Cloud SQL na página Detalhes da instância do Cloud SQL. Este endereço usa o seguinte formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte as informações da View Instância na documentação da Cloud SQL. - Adicione a função IAM do objeto de armazenamento (
roles/storage.objectViewer
) à conta de serviço. Para obter informações sobre como gerenciar o acesso com gerenciamento de identidade e acesso, consulte Gerencie o acesso a projetos, pastas e organizações na documentação do IAM.
Etapa 3c. (Opcional) Teste o trabalho de migração
Antes de executar o trabalho de migração, você pode executar uma operação de teste para verificar se o serviço de migração de banco de dados pode atingir todas as entidades de origem e destino necessárias. Com a GCLOUD CLI, você pode testar os trabalhos de migração criados, mas ainda não iniciados.
Console
No Google Cloud Console, você só pode testar trabalhos de migração preliminares que você cria no assistente de criação de empregos de migração. Se você não salvou seu trabalho como um rascunho, mas o criou totalmente no assistente, só pode executar o teste usando o Google Cloud CLI.
Para testar um trabalho de migração, siga estas etapas:
- No Google Cloud Console, vá para a página de trabalhos de migração .
- Na guia Rascunhos , clique no nome de exibição do trabalho de migração que você deseja terminar de criar.
O assistente de criação de trabalho de migração é aberto.
- No teste e crie a página de trabalho de migração , clique em Test Tow . O serviço de migração de banco de dados agora verifica se a instância de destino possui todas as permissões necessárias e pode se conectar ao banco de dados de origem.
- Quando o teste terminar, clique em Criar .
O trabalho de migração está agora criado e pronto para ser iniciado.
gcloud
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Se você não conhece o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é realizada de maneira assíncrona. Como tal, este comando retorna uma entidade de operação que representa uma operação de longa duração:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver se sua operação é bem -sucedida, você pode consultar o objeto de operação devolvido ou verificar o status do trabalho de migração:
- Use o
gcloud database-migration migration-jobs describe
o comando com o MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
o comando com o OPERATION_ID para ver o status da própria operação.
Etapa 3d. Inicie o trabalho de migração
Quando seu trabalho de migração é totalmente criado (ou seja, ele não é salvo em um estado de rascunho), você pode iniciá -lo a qualquer momento para começar a migrar dados.
Para iniciar um trabalho de migração, execute as seguintes etapas:
Console
- No Google Cloud Console, vá para a página de trabalhos de migração .
- Na guia Jobs , clique no nome de exibição do trabalho de migração que você deseja iniciar.
A página Detalhes do trabalho de migração é aberta.
- Clique em Iniciar .
- Na caixa de diálogo, clique em Iniciar .
gcloud
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Se você não conhece o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é realizada de maneira assíncrona. Como tal, este comando retorna uma entidade de operação que representa uma operação de longa duração:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver se sua operação é bem -sucedida, você pode consultar o objeto de operação devolvido ou verificar o status do trabalho de migração:
- Use o
gcloud database-migration migration-jobs describe
o comando com o MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
o comando com o OPERATION_ID para ver o status da própria operação.
Para migrar para uma instância de destino existente, primeiro você precisa criar e configurar sua instância de destino.Etapa 3a. Prepare sua instância de destino
Para configurar a instância do SQL de nuvem de destino, execute as seguintes etapas:
- Crie seu SQL em nuvem para a instância de destino MySQL. Certifique -se de usar recursos suficientes de computação e memória para cobrir suas necessidades de migração. Consulte Crie uma instância na documentação da Cloud SQL.
Dependendo do método de conectividade que você deseja usar para sua migração, pode ser necessário adicionar um endereço IP público ou público à sua instância de destino. Para obter mais informações sobre métodos de conectividade, consulte Configurar a conectividade .
- Conceda as permissões de armazenamento em nuvem à conta de serviço associada à sua instância de destino. Esta conta é criada após você criar a instância de destino.
- Encontre o endereço de email da conta de serviço para a sua instância do Cloud SQL na página Detalhes da instância do Cloud SQL. Este endereço usa o seguinte formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte as informações da View Instância na documentação da Cloud SQL. - Adicione a função IAM do objeto de armazenamento (
roles/storage.objectViewer
) à conta de serviço. Para obter informações sobre como gerenciar o acesso com gerenciamento de identidade e acesso, consulte Gerencie o acesso a projetos, pastas e organizações na documentação do IAM.
- Encontre o endereço de email da conta de serviço para a sua instância do Cloud SQL na página Detalhes da instância do Cloud SQL. Este endereço usa o seguinte formato:
- Crie um perfil de conexão de destino para a sua instância de SQL em nuvem.
Console
Você não precisa criar o perfil de conexão de destino. Quando você cria um trabalho de migração no Google Cloud Console, você usa o identificador de instância de destino e o serviço de migração de banco de dados gerencia o perfil de conexão para você.
Prossiga para a seção de trabalho de migração Create e Run .
gcloud
Esta amostra usa o sinalizador opcional
--no-async
para que todas as operações sejam executadas de maneira síncrona. Isso significa que alguns comandos podem demorar um pouco para concluir. Você pode pular o sinalizador--no-async
para executar comandos de forma assíncrona. Se o fizer, você precisa usar asgcloud database-migration operations describe
o comando para verificar se sua operação é bem-sucedida.Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- CONNECTION_PROFILE_ID com um identificador legível por máquina para o seu perfil de conexão.
- REGION com o identificador da região onde você deseja salvar o perfil de conexão.
- DESTINATION_INSTANCE_ID com o identificador de instância da sua instância de destino.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legível por humanos para o seu perfil de conexão. Este valor é exibido no Google Cloud console.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Você deve receber uma resposta semelhante ao 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]
Etapa 3b. Criar e executar o trabalho de migração
Console
Defina configurações para o trabalho de migração
- No Google Cloud Console, vá para a página de trabalhos de migração .
- Clique em Criar trabalho de migração .
A página do assistente de configuração do trabalho de migração é aberta. Este assistente contém vários painéis que o orientam em cada etapa de configuração.
Você pode pausar a criação de um trabalho de migração a qualquer momento clicando em Salvar e sair . Todos os dados que você inseram até esse ponto são salvos em um trabalho de migração. Você pode terminar seu trabalho de migração de rascunho mais tarde.
- Na página Introdução , insira as seguintes informações:
- Nome do trabalho de migração
Este é um nome legível por humanos para o seu trabalho de migração. Este valor é exibido no Google Cloud console.
- ID do trabalho de migração
Este é um identificador legível por máquina para o seu trabalho de migração. Você usa esse valor para trabalhar com trabalhos de migração usando o serviço de migração de banco de dados Google Cloud Cli Commands ou API.
- Na lista de mecanismo de banco de dados de origem , selecione MySQL .
O campo do mecanismo de banco de dados de destino é preenchido automaticamente e não pode ser alterado.
- Selecione a região em que você salva o trabalho de migração.
O serviço de migração de banco de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas à sua migração (perfis de conexão de origem e destino, trabalhos de migração, bancos de dados de destino) devem ser salvos em uma única região. Selecione a região com base na localização dos serviços que precisam de seus dados, como instâncias de computação do mecanismo ou aplicativos de mecanismo de aplicativos e outros serviços. Depois de escolher a região de destino, essa seleção não pode ser alterada.
- Nome do trabalho de migração
- Clique em Salvar e continuar .
Especifique informações sobre o perfil de conexão de origem
- Na página Definir uma fonte , execute as seguintes etapas:
- No menu suspenso Perfil de conexão de origem , selecione o perfil de conexão para o seu banco de dados de origem.
- Na seção de configuração personalizada de despejo completo , clique em Editar Configuração .
- No painel de configuração de despejo completo Editar , a partir do menu suspenso Método de despejo completo , selecione Baseado físico .
- Na pasta Fornecer sua pasta, clique em Procurar e, em seguida, selecione a pasta onde você carregou seu arquivo de despejo completo (Etapa 4 na seção Prepare a sua origem ).
- Clique em Salvar .
- Clique em Salvar e continuar .
Selecione a instância de destino do Cloud SQL
- No tipo de menu de instância de destino , selecione a instância existente .
- Na seção Selecionar instância de destino , selecione sua instância de destino.
- Revise as informações na seção Detalhes da instância e clique em Selecionar e continuar .
- Para migrar para um banco de dados de destino existente, o Serviço de Migração do banco de dados rebaixa a instância de destino e a converte em uma réplica. Para significar que o rebaixamento pode ser executado com segurança, na janela de confirmação, digite o identificador da instância de destino.
- Clique em Confirmar e continuar .
Configurar conectividade entre as instâncias de banco de dados de origem e destino
No menu suspenso Método de conectividade , selecione um método de conectividade de rede. Este método define como a instância SQL em nuvem recém -criada se conectará ao banco de dados de origem. Os métodos atuais de conectividade de rede incluem lista de permissões IP, túnel SSH reverso e peering VPC .
Se você quiser usar ... Então... O método de conectividade de rede de permissões IP, Você precisa especificar o endereço IP de saída da sua instância de destino. Se a instância do Cloud SQL que você criou for uma instância de alta disponibilidade, inclua os endereços IP de saída para a instância primária e secundária. O método de conectividade de rede de túnel SSH reverso, Você precisa selecionar a instância da VM do mecanismo de computação que hospeda o túnel. Depois de especificar a instância, o Google fornecerá um script que executa as etapas para configurar o túnel entre os bancos de dados de origem e destino. Você precisará executar o script na cli do Google Cloud .
Execute os comandos de uma máquina que possui conectividade com o banco de dados de origem e para Google Cloud.
O método de conectividade de rede de peering vpc, Você precisa selecionar a rede VPC onde reside o banco de dados de origem. A instância do Cloud SQL será atualizada para se conectar a essa rede. Depois de selecionar e configurar a conectividade da rede, clique em Configurar e continuar .
Teste, crie e execute o trabalho de migração
Nesta etapa final, revise o resumo das configurações de trabalho de migração, fonte, destino e método de conectividade e teste a validade da configuração do trabalho de migração. Se algum problema for encontrado, você poderá modificar as configurações do trabalho de migração. Nem todas as configurações são editáveis.
- No teste e crie a página de trabalho de migração , clique em Test Tow .
Se o teste falhar, você poderá resolver o problema na parte apropriada do fluxo e retornar ao teste novamente. Para obter informações para solucionar um teste de trabalho de migração com falha, consulte os problemas de diagnóstico para o MySQL .
- Quando o teste de trabalho de migração terminar, clique em Criar e iniciar o trabalho .
Sua migração está agora em andamento. Quando você inicia o trabalho de migração, o serviço de migração de banco de dados começa o despejo completo, bloqueando brevemente o banco de dados de origem.
gcloud
Para configurar e executar sua migração, execute as seguintes etapas:
Crie o trabalho de migração.
Execute o seguinte comando (clique no link para expandir):gcloud database-migration migration-jobs create
Esta amostra usa o sinalizador opcional
--no-async
para que todas as operações sejam executadas de maneira síncrona. Isso significa que alguns comandos podem demorar um pouco para concluir. Você pode pular o sinalizador--no-async
para executar comandos de forma assíncrona. Se o fizer, você precisa usar asgcloud database-migration operations describe
o comando para verificar se sua operação é bem-sucedida.Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para o seu trabalho de migração. Você usa esse valor para trabalhar com trabalhos de migração usando o serviço de migração de banco de dados Google Cloud Cli Commands ou API.
- REGION com o identificador da região, onde você deseja salvar o trabalho de migração.
- MIGRATION_JOB_NAME com um nome legível por humanos para o seu trabalho de migração. Este valor é exibido no serviço de migração de banco de dados no Google Cloud console.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
- MIGRATION_JOB_TYPE com o tipo de seu trabalho de migração. Dois valores são permitidos:
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 seus arquivos de backup físico armazenados em uma pasta em um balde de armazenamento em nuvem. Use o seguinte formato:
gs://< bucket_name >/< path_to_backup_file_folder>
. - Configuração de rede
Se você usar a conectividade IP privada com a rede de rede VPC ou um túnel reverso-SSH, adicione os seguintes sinalizadores ao seu comando:
- Conectividade IP privada com peering de rede VPC
- Use o sinalizador
--peer-vpc
para especificar o nome da rede com que você deseja espiar. - Túnel reverso-SSH em uma VM de mecanismo de computação
- Use os seguintes sinalizadores para fornecer detalhes de rede para o mecanismo de computação:
--vm-ip
,--vm-port
,--vpc
. Você também pode usar o sinalizador opcional--vm
para especificar o nome da VM.
Para mais exemplos de uso, consulte Exemplos do Google Cloud CLI .
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Você deve receber uma resposta semelhante ao 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]
Rebaixar sua instância de destino da nuvem 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 comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Se você não conhece o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é realizada de maneira assíncrona. Como tal, este comando retorna uma entidade de operação que representa uma operação de longa duração:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Para ver se sua operação é bem -sucedida, você pode consultar o objeto de operação devolvido ou verificar o status do trabalho de migração:
- Use o
gcloud database-migration migration-jobs describe
o comando para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
com o OPERATION_ID para ver o status da própria operação.
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
(Opcional) Realizar um teste de trabalho de migração
Você pode executar uma verificação para verificar se o serviço de migração de banco de dados pode atingir todas as entidades de origem e destino necessárias. Execute o seguinte comando (clique no link para expandir):GCLOUD Migração de migração de banco de dados verificou
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Se você não conhece o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é realizada de maneira assíncrona. Como tal, este comando retorna uma entidade de operação que representa uma operação de longa duração:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver se sua operação é bem -sucedida, você pode consultar o objeto de operação devolvido ou verificar o status do trabalho de migração:
- Use o
gcloud database-migration migration-jobs describe
o comando com o MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
o comando com o OPERATION_ID para ver o status da própria operação.
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Inicie o trabalho de migração.
Execute o seguinte comando (clique no link para expandir):GCLOUD Database Migration Migration-Jobs Iniciar
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
Se você não conhece o identificador, pode usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é realizada de maneira assíncrona. Como tal, este comando retorna uma entidade de operação que representa uma operação de longa duração:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver se sua operação é bem -sucedida, você pode consultar o objeto de operação devolvido ou verificar o status do trabalho de migração:
- Use o
gcloud database-migration migration-jobs describe
o comando com o MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
o comando com o OPERATION_ID para ver o status da própria operação.
Quando você inicia o trabalho de migração, sua instância de destino SQL em nuvem é colocada em um modo somente leitura, onde é totalmente gerenciado pelo serviço de migração de banco de dados. Você pode promovê -lo para uma instância independente quando seus dados são totalmente migrados.
NOTA: Você pode monitorar o progresso da migração, bem como a saúde da instância de destino com os recursos de observabilidade do serviço de migração de banco de dados. Consulte [Métricas de trabalho de migração] (/Database-Migration/docs/mysql/migration-job-metrics).
- MIGRATION_JOB_ID com seu identificador de trabalho de migração.
- Crie seu SQL em nuvem para a instância de destino MySQL. Certifique -se de usar recursos suficientes de computação e memória para cobrir suas necessidades de migração. Consulte Crie uma instância na documentação da Cloud SQL.
Etapa 4. (Opcional) Pare a migração
Você pode parar e excluir seu trabalho de migração a qualquer momento, se desejar cancelar o processo de migração de dados. Você pode gerenciar o trabalho de migração no Google Cloud console ou com o Google Cloud CLI.
Para obter informações sobre o gerenciamento de empregos de migração no Google Cloud Console, consulte Gerenciar trabalhos de migração .
Para obter informações sobre o gerenciamento de trabalhos de migração com o Google Cloud CLI, consulte a referência
gcloud database-migration migration-jobs
.
Etapa 5. Finalize a migração
Quando o trabalho de migração concluir com êxito, finalize o trabalho de migração, executando uma das seguintes etapas:
Para migrações únicas : o status do trabalho de migração muda para concluir . Não são necessárias ações adicionais, você pode limpar o trabalho de migração e os recursos do perfil de conexão.
Para migrações contínuas : promova o trabalho de migração para mudar seu aplicativo para a nova instância do banco de dados.