O Google Cloud SQL é um serviço de banco de dados totalmente gerenciado que facilita a configuração, a manutenção, o gerenciamento e a administração dos seus bancos de dados relacionais do MySQL na nuvem.
Neste laboratório, vamos criar uma instância do Cloud SQL vazia, nos conectar a ela usando a interface de linha de comando do MySQL e criar um banco de dados vazio.
O que você vai aprender
- Como acessar a interface da Web do Cloud SQL no console do Google Cloud.
- Como criar uma instância do Cloud SQL usando o console do Google Cloud.
- Como definir uma senha de administrador usando o console do Google Cloud.
- Como se conectar à instância do Cloud SQL usando o Cloud Shell.
- Como excluir sua instância do Cloud SQL usando o console do Google Cloud.
O que é necessário
Como você vai usar este tutorial?
Como você classificaria sua experiência com o uso dos serviços do Google Cloud Platform e do Firebase?
Configuração de ambiente autoguiada
Se você ainda não tem uma Conta do Google (Gmail ou Google Apps), crie uma. Faça login no Console do Google Cloud Platform (console.cloud.google.com) e crie um projeto:
Lembre-se do código do projeto, um nome exclusivo em todos os projetos do Google Cloud. O nome acima já foi escolhido e não servirá para você. Faremos referência a ele mais adiante neste codelab como PROJECT_ID
.
Em seguida, ative o faturamento no console do Cloud para usar os recursos do Google Cloud.
A execução por meio deste codelab terá um custo baixo, mas poderá ser mais se você decidir usar mais recursos ou se deixá-los em execução. Consulte a seção "limpeza" no final deste documento.
Novos usuários do Google Cloud Platform têm direito a uma avaliação sem custo financeiro de US$300.
No Console do Google Cloud, clique no ícone Menu no canto superior esquerdo da tela:
Role a tela para baixo e selecione SQL na subseção Armazenamento:
Agora você vai ver a interface da Web do Cloud SQL. Se você estiver usando um projeto que não tem instâncias do Cloud SQL, uma caixa de diálogo vai aparecer convidando você a criar uma instância.
Se você estiver usando um projeto que já tem uma ou mais instâncias do Cloud SQL, uma lista dessas instâncias vai aparecer:
Supondo que seu projeto não tenha instâncias do Cloud SQL, clique no botão Criar instância para criar uma:
Se você estiver usando um projeto que já tem uma ou mais instâncias do Cloud SQL, pressione o botão Criar instância na tela Instâncias, conforme mostrado aqui:
Em qualquer um dos casos, a página Escolher um tipo de instância vai aparecer. Neste codelab, vamos criar uma instância de segunda geração do Cloud SQL. Clique em Escolher segunda geração.
Isso vai levar você à página Criar uma instância. Aqui, você precisa especificar um nome para a instância. Esse nome precisa ser exclusivo no seu projeto, mas não entre projetos. Portanto, você pode usar o mesmo nome de instância codelab-0 mostrado neste exemplo, desde que não tenha outras instâncias do Cloud SQL no seu projeto. Insira "codelab-0" na caixa "ID da instância". Para os fins deste codelab, o restante da configuração pode ser deixado com os valores padrão.
Quando você exclui uma instância do Cloud SQL, não é possível reutilizar o nome dela por até uma semana. Se você planeja usar esse projeto para mais do que experimentação, escolha um nome de instância diferente de qualquer nome que você possa querer usar para trabalho real. Caso contrário, talvez não seja possível reutilizar esse nome por um período.
Role até a parte de baixo da página e clique em Criar.
Você vai acessar a página Instâncias, onde vai encontrar a nova instância com um spinner à esquerda, indicando que ela ainda está sendo criada:
Em dois ou três minutos, a instância vai estar disponível, e uma marca de seleção verde vai substituir o spinner azul. Atualize a página de vez em quando:
Sua instância do Cloud SQL está pronta para uso.
Clique no nome da instância para abrir a página de detalhes dela e clique em Controle de acesso:
Na guia "Controle de acesso", clique em Usuários:
Na guia "Usuários", clique em Mudar senha de root:
Insira uma nova senha na página "Alterar senha" e pressione OK:
Ative o Google Cloud Shell pressionando o botão de solicitação no Console do Google Cloud:
Se esta for a primeira vez que você usa o Google Cloud Shell para este projeto, a tela do Google Cloud Shell vai aparecer. Pressione Iniciar o Cloud Shell.
O novo Cloud Shell vai aparecer na parte de baixo do console do Google Cloud. Isso acontece depois que você pressiona Iniciar o Cloud Shell na tela do Cloud Shell se for a primeira vez que ele é usado com esse projeto ou imediatamente após pressionar o botão "Ativar o Google Cloud Shell" se ele já tiver sido usado antes.
Conecte-se à sua instância do Cloud SQL usando o comando gcloud sql mostrado abaixo, mas substitua "codelab-0" pelo nome da sua instância, se for diferente:
gcloud sql connect codelab-0 --user=root
Você verá:
$ gcloud sql connect codelab-0 --user=root Whitelisting your IP for incoming connection for 1 minute...done. Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11302 Server version: 5.6.29-google-log (Google) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Como mostrado aqui, será solicitado que você digite a senha definida na etapa anterior. Agora você tem um prompt do MySQL totalmente funcional, conectado como "root". Use isso para inserir instruções SQL, como esta para criar um novo banco de dados chamado "codelab":
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
Se a consulta retornar um OK, sua instância estará funcionando. Vamos sair e carregar alguns dados de amostra para executar consultas reais.
Digite "exit;" e pressione Enter para sair do prompt do mysql.
Vamos carregar o conjunto de dados de amostra de funcionários, que pode ser encontrado na documentação oficial do MySQL.
Primeiro, faça o download dos scripts e dados:
$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip $ unzip sampledb.zip && cd test_db-master
Em seguida, precisamos criar o banco de dados e as tabelas e carregar os dados. De novo, substitua codelab-0 pelo nome da sua instância, se for diferente:
$ gcloud sql connect codelab-0 --user=root < employees.sql
Agora podemos consultar os dados. Confira alguns exemplos de consultas abaixo. Você também pode criar algumas consultas. Para se familiarizar com o esquema do banco de dados, consulte o arquivo employees.sql
. Primeiro, faça login no prompt do SQL e mude para o banco de dados de funcionários. Substitua codelab-0
pelo nome da instância, se for diferente:
$ gcloud sql connect codelab-0 --user=root mysql> USE employees; Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changed mysql> SELECT avg(s.salary) avg_salary_by_hire_year, YEAR(e.hire_date) FROM employees e, salaries s WHERE e.emp_no = s.emp_no GROUP BY YEAR(e.hire_date); +-------------------------+-------------------+ | avg_salary_by_hire_year | YEAR(e.hire_date)| +-------------------------+-------------------+ | 66966.7550 | 1985 | | 66187.3453 | 1986 | ... 16 rows in set (2.70 sec) mysql> SELECT de.dept_no, sum(s.salary) sum_salaries_per_department FROM employees e, salaries s, dept_emp de WHERE e.emp_no = de.emp_no AND e.emp_no = s.emp_no GROUP BY de.dept_no; +---------+-----------------------------+ | dept_no | sum_salaries_per_department| +---------+-----------------------------+ | d001 | 13725425266 | | d002 | 11650834677 | ... +---------+-----------------------------+ 9 rows in set (4.22 sec) mysql> exit;
Depois de consultar o conjunto de dados de funcionários de exemplo, use o comando "exit" para sair do prompt do mysql.
Esta etapa é opcional. Se você quiser continuar testando a instância do Cloud SQL, não é necessário excluí-la agora. No entanto, o projeto que você está usando vai continuar sendo cobrado pela instância. Se você não precisar mais dessa instância, exclua-a agora para evitar essas cobranças.
Quando você exclui uma instância do Cloud SQL, não é possível reutilizar o nome dela por até uma semana.
Você tem duas opções para excluir sua instância do Cloud SQL.
1) Use gcloud
no ambiente do Cloud Shell. De novo, substitua codelab-0 pelo nome da sua instância, se for diferente:
$ gcloud sql instances delete codelab-0 All of the instance data will be lost when the instance is deleted. Do you want to continue (Y/n)? Y Deleting Cloud SQL instance...done. Deleted $
ou
2) Volte à página de instâncias do Cloud SQL clicando em SQL no canto superior esquerdo:
Abra o menu suspenso ao lado da instância que você quer excluir e escolha "Excluir":
A exclusão de uma instância é permanente. Não é possível recuperar os dados dessa instância. Para evitar a exclusão acidental da instância errada, confirme a exclusão inserindo o nome da instância em uma caixa de diálogo de confirmação:
Digite o nome da instância e pressione Excluir.
Você criou uma instância do Cloud SQL, configurou uma senha de administrador, criou um banco de dados vazio e (opcionalmente) excluiu a instância do Cloud SQL.
O que vimos
- Criar instâncias do Cloud SQL usando o console do Google Cloud.
- Definir uma senha raiz do SQL pelo console do Google Cloud.
- Conectar-se ao banco de dados usando o cliente mysql.
- Criar um banco de dados MySQL usando o prompt do mysql.
- Excluindo a instância do Cloud SQL.
Saiba mais
- Consulte a documentação do Google Cloud SQL.