A migração de uma carga de trabalho de outra plataforma para o Cloud SQL para MySQL envolve frequentemente a utilização da Google Cloud consola para importar dados de um ficheiro de despejo SQL que exporta do seu ambiente anterior.
Este tutorial mostra como criar os Google Cloud recursos de que precisa e, em seguida, importar uma base de dados SQL para uma instância do Cloud SQL para MySQL. O tutorial demonstra as práticas recomendadas ao migrar para o Cloud SQL para MySQL, incluindo a utilização de uma rede da nuvem privada virtual (VPC) com acesso privado a serviços e a ativação do IP privado para a sua instância do Cloud SQL.
À medida que avança nos passos, mantenha os valores predefinidos das definições, a menos que seja especificado o contrário.
Objetivos
- Transfira um ficheiro de captura SQL de exemplo.
- Crie uma nova rede de nuvem privada virtual com acesso a serviços privados.
- Crie um contentor do Cloud Storage e carregue um ficheiro de captura SQL para o mesmo.
- Crie uma instância do Cloud SQL para MySQL configurada para IP privado.
- Crie um utilizador.
- Importe do ficheiro de despejo para uma nova base de dados.
- Verifique se a base de dados foi importada com êxito vendo a estrutura e executando uma consulta.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Administrador do Cloud SQL (
roles/cloudsql.admin) -
Administrador de armazenamento (
roles/storage.admin) -
Administrador de rede de Calcular (
roles/compute.networkAdmin) Na Google Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
No campo de nome, introduza
tutorial-network.Para o Modo de criação de sub-rede, selecione Personalizado.
No campo de nome, introduza
tutorial-subnet.Selecione uma região perto de si.
Para o intervalo de IPv4, introduza
10.0.0.0/24.Para o acesso privado da Google, selecione Ativado.
Clique em Concluído.
Na parte inferior da página, clique em Criar.
- No ecrã Redes de VPC, clique em tutorial-network.
- Na barra de menu de tutorial-network, clique em Acesso a serviços privados.
- Clique em Intervalos de IP atribuídos para serviços.
- Clique em Atribuir intervalo de IPs.
- Em Nome, introduza
tutorial-range. - Para o Intervalo de endereços IP, selecione Personalizado.
- No campo Intervalo, introduza
192.168.0.0/20. - Clique em Atribuir.
- No submenu, clique em Ligações privadas a serviços.
- Clique em Criar associação.
- No menu pendente Atribuição atribuída, selecione tutorial-range.
- Clique em Ligar. Dentro de um ou dois minutos, a Google Cloud consola apresenta uma mensagem a informar que criou com êxito uma ligação privada.
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
- Clique em Criar.
- Para o nome do contentor, crie um nome exclusivo a nível global composto por letras minúsculas, números e hífenes. É recomendável usar um gerador de strings aleatórias, como random.org/strings, para gerar o nome. Tome nota do nome que escolher.
- Clique em Continuar.
- Em Tipo de localização, selecione Região. Esta é a opção com o custo mais baixo.
- Escolha a mesma região que escolheu para a sua sub-rede. Localizar os seus Google Cloud recursos na mesma região reduz a latência, melhora a velocidade, diminui os custos de transferência de dados e simplifica o trabalho em rede.
- Clique em Continuar.
- Clique em Criar.
- Se for apresentada uma caixa de diálogo, deixe a opção Aplicar a prevenção de acesso público neste contentor selecionada e clique em Confirmar.
- No separador Objetos, clique em Carregar e, de seguida, em Carregar ficheiros.
- Navegue até ao ficheiro
countries-mysql.sqle selecione-o. - Clique em Abrir. O Cloud Storage carrega o ficheiro de despejo para o contentor.
- Aceda à página Instâncias do Cloud SQL na Google Cloud consola.
Aceda à página Instâncias do Cloud SQL - Clique em Criar instância.
- Clique em Escolher MySQL.
- Em Escolha uma edição do Cloud SQL, escolha Enterprise.
- Para Predefinição de edição, selecione Sandbox.
- Para o ID da instância, introduza
tutorial-instance. - Escolha e introduza uma palavra-passe para a conta de utilizador predefinida e guarde-a para utilização futura.
- Escolha a mesma região que escolheu para a sub-rede e o contentor.
- Em Disponibilidade zonal, selecione Zona única.
- Expanda Mostrar opções de configuração.
- Expanda Ligações.
- Limpe o IP público.
- Selecione IP privado.
- No menu pendente Rede, selecione tutorial-network. Isto coloca a nova instância do Cloud SQL na rede privada que criou anteriormente.
- Clique em Criar instância e, de seguida, aguarde até que a instância seja inicializada e iniciada. O processo de inicialização pode demorar mais de cinco minutos.
- No menu de navegação do SQL, clique em Utilizadores.
- Clique em Adicionar conta de utilizador.
- No painel apresentado, selecione Autenticação integrada.
- No campo Nome de utilizador, introduza
tutorial-user. - Introduza uma palavra-passe para o novo utilizador. Guarde esta palavra-passe para utilização futura.
- Selecione Permitir qualquer anfitrião.
- Clique em Adicionar.
- No menu de navegação do SQL, clique em Vista geral.
- Na página de vista geral, clique em Importar.
- Em Formato de ficheiro, selecione SQL.
- Em Selecionar ficheiro de origem, escolha Selecionar ficheiro do Google Cloud Storage.
- Clique em Procurar.
- Expanda o contentor de armazenamento que criou anteriormente.
- Clique em countries-mysql.sql.
- Clique em Selecionar.
- Confirme que, no campo Base de dados da secção Destino, está selecionada a opção Especificado no ficheiro SQL.
- Clique em Importar.
- No menu de navegação do SQL, clique em Cloud SQL Studio. É apresentada uma caixa de diálogo de início de sessão.
- No menu pendente Base de dados, escolha países.
- Selecione Autenticação de base de dados incorporada.
- No menu pendente Utilizador, selecione tutorial-user.
- No campo Palavra-passe, introduza a palavra-passe que escolheu para o utilizador na secção Adicionar um utilizador.
- Clique em Autenticar. O Cloud SQL Studio é aberto.
- No painel Explorador, examine a base de dados
countriese confirme que a base de dados tem duas tabelas:capitalsecountry_codes. - Clique em Consulta sem título para abrir o editor de consultas.
Cole o seguinte código no editor de consultas:
SELECT `capitals`.`country_capital`, `country_codes`.`country_name` FROM `capitals` JOIN `country_codes` ON `capitals`.`alpha_2_code` = `country_codes`.`alpha_2_code` ORDER BY `capitals`.`country_capital`;Clique em Executar.
- Elimine o projeto que contém os recursos
- Manter o projeto e eliminar os recursos individuais.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- No menu de navegação do SQL, clique em Vista geral.
- Clique em Edit.
- Expanda a secção Proteção de dados.
- Em Proteção contra eliminação de instâncias, desmarque todas as opções.
- Clique em Guardar. Quando a operação estiver concluída, pode selecionar Eliminar.
- Clique em Eliminar. É apresentada uma caixa de diálogo.
- No campo ID da instância, introduza
tutorial-instance. - Clique em Eliminar.
- No menu de navegação principal da Google Cloud consola, aceda a Cloud Storage > Recipientes.
- Selecione a caixa junto ao nome do contentor que criou anteriormente.
- Clique em Eliminar.
- Na caixa de diálogo, confirme a eliminação escrevendo
DELETEe, de seguida, clique em Eliminar. - No menu de navegação principal, aceda a Redes VPC > Interligação de redes VPC.
- Selecione a caixa junto à ligação de peering com a rede de VPC tutorial-network.
- Clique em Eliminar.
- Na caixa de diálogo, clique em Eliminar para confirmar.
- No menu Rede de VPC, clique em Redes de VPC.
- Clique em tutorial-network para abrir a página de detalhes.
- Clique em Eliminar rede de VPC.
- Na caixa de diálogo, confirme a eliminação escrevendo
tutorial-networke, de seguida, clicando em Eliminar. - Práticas recomendadas para importar e exportar dados.
- Exporte e importe através de ficheiros de captura SQL.
- Redes VPC
- Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Consulte o nosso Centro de arquitetura na nuvem.
Funções necessárias
Para receber as autorizações necessárias para concluir este tutorial, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto:
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.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Obtenha um ficheiro de despejo de base de dados de exemplo
Para este tutorial, vai usar uma pequena base de dados de amostra que contém códigos de países e capitais do mundo.
Transfira o ficheiro SQL para a base de dados countries para o seu ambiente local: countries-mysql.sql.
Crie uma rede com acesso a serviços privados
Antes de criar os restantes recursos, crie uma rede VPC para executar os seus serviços. O acesso privado aos serviços permite-lhe restringir o acesso à sua base de dados do Cloud SQL estabelecendo uma ligação privada entre a sua rede externa e o Cloud SQL para MySQL através de endereços IPv4 internos.
Após a conclusão do processo de criação da rede VPC, pode configurar o acesso a serviços privados para a rede.
Crie um contentor do Cloud Storage
Em seguida, crie um contentor do Cloud Storage para armazenar o ficheiro de captura SQL que transferiu anteriormente. A ferramenta de importação do Cloud SQL espera que o ficheiro de captura esteja num contentor. Um contentor do Cloud Storage tem de ter um nome exclusivo a nível global.
A página Detalhes do contentor do novo contentor é aberta com o painel Objetos selecionado.
Carregue o ficheiro de despejo para o contentor
Carregue para o seu contentor o ficheiro de captura SQL de exemplo que transferiu anteriormente.
Crie uma instância do Cloud SQL
Crie uma instância do Cloud SQL na Google Cloud consola com as seguintes definições. Para todas as outras definições, mantenha os valores predefinidos. Embora não precise de ativar o IP privado para o processo de importação, a utilização do IP privado para uma carga de trabalho de produção é uma prática recomendada.
Adicionar um utilizador
Antes de poder ler ou escrever numa base de dados, tem de criar um utilizador da base de dados que seja diferente do utilizador raiz.
Importe a partir do ficheiro de despejo
Agora, já pode importar a base de dados countries através do ficheiro de despejo countries-mysql.sql que carregou para o contentor do Cloud Storage.
Quando o processo de importação estiver concluído e a base de dados countries tiver sido importada para o Cloud SQL para MySQL, é apresentada uma mensagem de êxito.
Valide os dados importados no Cloud SQL para MySQL
Após a conclusão da operação de importação, pode verificar se a base de dados foi importada estabelecendo ligação à mesma através do Cloud SQL Studio, inspecionando a lista de tabelas e executando uma consulta de teste nos dados.
Autentique-se no Cloud SQL Studio
Com a conta de utilizador que criou anteriormente, estabeleça ligação à nova base de dados através do Cloud SQL Studio.
Ver e consultar as tabelas
O painel de resultados apresenta uma lista alfabética das capitais do mundo e dos respetivos países.
Limpar
Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados neste tutorial, faça uma das seguintes ações:
Elimine o projeto
Elimine recursos individuais
Se quiser manter o projeto, mas evitar incorrer em custos, elimine a instância do Cloud SQL, o contentor do Cloud Storage e a rede VPC que criou durante o tutorial.
Elimine a instância do Cloud SQL
Primeiro, desative a proteção contra eliminação e, em seguida, elimine a instância do Cloud SQL do tutorial:
Elimine o contentor do Cloud Storage
Em seguida, elimine o contentor de armazenamento e o respetivo conteúdo.
Elimine a rede de VPC
Agora que eliminou os recursos na sua rede VPC, já pode eliminar a rede. Antes de poder eliminar a rede VPC, tem de eliminar a ligação de peering criada automaticamente quando criou a rede VPC.
Agora que a ligação de peering foi removida, pode eliminar a rede VPC.