Google Cloud SQL est un service de base de données entièrement géré qui facilite la configuration, la maintenance, la gestion et l'administration de vos bases de données relationnelles MySQL dans le cloud.
Dans cet atelier, nous allons créer une instance Cloud SQL vide, nous y connecter à l'aide de l'interface de ligne de commande MySQL et créer une base de données vide.
Points abordés
- Accéder à l'UI Web de Cloud SQL dans la console Google Cloud
- Découvrez comment créer une instance Cloud SQL à l'aide de la console Google Cloud.
- Découvrez comment définir un mot de passe racine à l'aide de la console Google Cloud.
- Comment se connecter à votre instance Cloud SQL via Cloud Shell.
- Découvrez comment supprimer votre instance Cloud SQL à l'aide de la console Google Cloud.
Prérequis
Comment allez-vous utiliser ce tutoriel ?
Quel est votre niveau d'expérience avec les services Google Cloud Platform et Firebase ?
Configuration de l'environnement au rythme de chacun
Si vous ne possédez pas encore de compte Google (Gmail ou Google Apps), vous devez en créer un. Connectez-vous à la console Google Cloud Platform (console.cloud.google.com) et créez un projet :
Mémorisez l'ID du projet. Il s'agit d'un nom unique permettant de différencier chaque projet Google Cloud (le nom ci-dessus est déjà pris ; vous devez en trouver un autre). Il sera désigné par le nom PROJECT_ID
tout au long de cet atelier de programmation.
Vous devez ensuite activer la facturation dans la console Cloud pour pouvoir utiliser les ressources Google Cloud.
Suivre cet atelier de programmation ne devrait pas vous coûter plus d'un euro. Cependant, cela peut s'avérer plus coûteux si vous décidez d'utiliser davantage de ressources ou si vous n'interrompez pas les ressources (voir la section "Effectuer un nettoyage" à la fin du présent document).
Les nouveaux utilisateurs de Google Cloud Platform peuvent bénéficier d'un essai sans frais avec 300$de crédits.
Dans la console Google Cloud, cliquez sur l'icône Menu en haut à gauche de l'écran :
Faites défiler la page vers le bas, puis sélectionnez SQL dans la sous-section Stockage :
Vous devriez maintenant voir l'interface utilisateur Web Cloud SQL. Si vous utilisez un projet qui ne comporte actuellement aucune instance Cloud SQL, une boîte de dialogue vous invite à en créer une.
Si vous utilisez un projet qui comporte déjà une ou plusieurs instances Cloud SQL, vous verrez plutôt une liste de ces instances :
En supposant que votre projet ne comporte aucune instance Cloud SQL, appuyez sur le bouton Créer une instance pour en créer une :
Si vous utilisez un projet qui comporte déjà une ou plusieurs instances Cloud SQL, appuyez sur le bouton Créer une instance sur l'écran Instances, comme indiqué ci-dessous :
Dans les deux cas, la page Choisir un type d'instance devrait s'afficher. Dans cet atelier de programmation, nous allons créer une instance Cloud SQL de deuxième génération. Cliquez sur Créer une instance de deuxième génération.
Vous êtes redirigé vers la page Créer une instance. Vous devez indiquer un nom pour votre instance. Ce nom doit être unique dans votre projet, mais pas dans tous les projets. Vous pouvez donc utiliser le même nom d'instance codelab-0 que celui indiqué dans cet exemple, à condition qu'il n'y ait pas d'autres instances Cloud SQL dans votre projet. Saisissez "codelab-0" dans la zone "ID d'instance". Pour les besoins de cet atelier de programmation, vous pouvez conserver les valeurs par défaut pour le reste de la configuration.
Notez que lorsque vous supprimez une instance Cloud SQL, vous ne pouvez pas réutiliser son nom pendant une semaine. Si vous prévoyez d'utiliser ce projet pour autre chose que des tests, veillez à choisir un nom d'instance différent de celui que vous pourriez vouloir utiliser pour un travail réel. Sinon, vous risquez de ne pas pouvoir réutiliser ce nom d'instance pendant un certain temps.
Faites défiler la page jusqu'en bas, puis appuyez sur Créer.
Vous serez redirigé vers la page Instances, où vous verrez votre nouvelle instance avec un indicateur de progression sur la gauche, indiquant qu'elle est toujours en cours de création :
Dans deux ou trois minutes, l'instance sera disponible et une coche verte remplacera le spinner bleu. Veillez à actualiser la page de temps en temps :
Votre instance Cloud SQL est désormais prête à l'emploi.
Cliquez sur le nom de votre instance pour afficher la page de détails de l'instance, puis cliquez sur Contrôle des accès :
Dans l'onglet "Contrôle d'accès", appuyez sur Utilisateurs :
Dans l'onglet "Utilisateurs", cliquez sur Modifier le mot de passe root :
Saisissez un nouveau mot de passe sur la page "Modifier le mot de passe", puis appuyez sur OK :
Activez Google Cloud Shell en appuyant sur le bouton d'invite dans la console Google Cloud :
Si vous utilisez Google Cloud Shell pour la première fois dans ce projet, l'écran Google Cloud Shell s'affiche. Appuyez sur Démarrer Cloud Shell.
Le nouveau Cloud Shell s'affiche en bas de la console Google Cloud. Soit après avoir cliqué sur Démarrer Cloud Shell sur l'écran Google Cloud Shell si c'est la première fois qu'il est utilisé avec ce projet, soit immédiatement après avoir cliqué sur le bouton "Activer Google Cloud Shell" s'il a déjà été utilisé.
Connectez-vous à votre instance Cloud SQL à l'aide de la commande gcloud sql ci-dessous, mais remplacez "codelab-0" par le nom de votre instance, le cas échéant :
gcloud sql connect codelab-0 --user=root
Vous devriez obtenir le résultat suivant :
$ 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>
Comme indiqué ici, vous serez invité à saisir le mot de passe que vous avez défini à l'étape précédente. Vous disposez désormais d'une invite MySQL entièrement fonctionnelle, connectée en tant que "root". Vous pouvez l'utiliser pour saisir des instructions SQL, comme celle-ci pour créer une base de données nommée "codelab" :
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
Si la requête renvoie un code OK, cela signifie que votre instance fonctionne. Quittons et chargeons des exemples de données pour exécuter de vraies requêtes.
Saisissez "exit;" (quitter), puis appuyez sur Entrée pour quitter l'invite MySQL.
Nous allons charger l'ensemble de données d'exemple sur les employés que vous trouverez dans la documentation officielle de MySQL.
Nous devons d'abord télécharger les scripts et les données :
$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip $ unzip sampledb.zip && cd test_db-master
Ensuite, nous devons créer la base de données et les tables, et charger les données. Encore une fois, remplacez codelab-0 par le nom de votre instance, si elle est différente :
$ gcloud sql connect codelab-0 --user=root < employees.sql
Nous pouvons maintenant interroger les données. Vous trouverez des exemples de requêtes ci-dessous. Vous pouvez également créer vos propres requêtes. Pour vous familiariser avec le schéma de la base de données, consultez le fichier employees.sql
. Connectez-vous d'abord à l'invite SQL, puis passez à la base de données des employés. Encore une fois, remplacez codelab-0
par le nom de votre instance, s'il est différent :
$ 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;
Une fois que vous avez terminé d'interroger l'exemple d'ensemble de données sur les employés, utilisez la commande "exit" pour quitter l'invite MySQL.
Cette étape est facultative. Si vous souhaitez continuer à expérimenter avec votre instance Cloud SQL, vous n'avez pas besoin de la supprimer pour le moment. Toutefois, le projet que vous utilisez continuera à être facturé pour l'instance. Si vous n'avez plus besoin de cette instance, supprimez-la dès maintenant pour éviter ces frais.
Notez que lorsque vous supprimez une instance Cloud SQL, vous ne pouvez pas réutiliser son nom pendant une semaine.
Vous avez deux options pour supprimer votre instance Cloud SQL.
1) Utilisez gcloud
dans votre environnement Cloud Shell. Encore une fois, remplacez codelab-0 par le nom de votre instance, si elle est différente :
$ 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) Revenez à la page "Instances Cloud SQL" en cliquant sur "SQL" en haut à gauche :
Ouvrez le menu déroulant à côté de l'instance que vous souhaitez supprimer, puis sélectionnez "Supprimer" :
La suppression d'une instance est définitive. Les données de cette instance ne pourront pas être récupérées. Pour éviter de supprimer une instance par erreur, vous devez confirmer la suppression en saisissant le nom de l'instance dans une boîte de dialogue de confirmation :
Saisissez le nom de votre instance, puis appuyez sur Supprimer.
Vous avez créé une instance Cloud SQL, configuré un mot de passe racine, créé une base de données vide et (facultativement) supprimé l'instance Cloud SQL.
Points abordés
- Créer des instances Cloud SQL à l'aide de la console Google Cloud
- Définition d'un mot de passe racine SQL dans la console Google Cloud.
- Se connecter à la base de données à l'aide du client MySQL
- Créer une base de données MySQL à l'aide de l'invite mysql
- Suppression de l'instance Cloud SQL.
En savoir plus
- Consultez la documentation Google Cloud SQL.