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, vous allez créer une instance Cloud SQL vide, vous 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'interface utilisateur Web de Cloud SQL dans Google Cloud Console
- Créer une instance Cloud SQL à l'aide de Google Cloud Console
- Comment définir un mot de passe racine à l'aide de Google Cloud Console
- Se connecter à votre instance Cloud SQL via Cloud Shell
- Supprimer votre instance Cloud SQL à l'aide de Google Cloud Console
Ce dont vous avez besoin
Comment allez-vous utiliser ce tutoriel ?
Comment évalueriez-vous votre expérience d'utilisation des services Google Cloud Platform et de Firebase ?
Configuration de l'environnement au rythme de chacun
Si vous n'avez 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 Cloud Console afin d'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 offert de 300$.
Dans Google Cloud Console, 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 Storage (Stockage) :
L'interface utilisateur Web de Cloud SQL devrait maintenant s'afficher. Si vous utilisez un projet qui ne dispose actuellement d'aucune instance Cloud SQL, une boîte de dialogue vous invite à créer une instance Cloud SQL.
Si vous utilisez un projet qui comporte déjà une ou plusieurs instances Cloud SQL, vous verrez 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 Create instance (Créer une instance) sur l'écran Instances:
Dans les deux cas, la page Choisir un type d'instance s'affiche. Dans cet atelier de programmation, nous allons créer une instance Cloud SQL de deuxième génération. Cliquez sur Choisir la deuxième génération.
Vous êtes alors redirigé vers la page Create an instance (Créer une instance). Vous devez spécifier un nom pour votre instance. Ce nom doit être unique au sein de votre projet, mais pas entre tous les projets. Vous pouvez donc utiliser le même nom d'instance codelab-0 indiqué dans cet exemple, en supposant qu'il n'y a pas d'autres instances Cloud SQL dans votre projet. Saisissez "&lablab-0"" dans le champ "ID d'instance". Pour les besoins de cet atelier de programmation, le reste de la configuration peut conserver les valeurs par défaut.
Notez que lorsque vous supprimez une instance Cloud SQL, vous ne pouvez pas réutiliser son nom pendant un délai d'une semaine. Si vous prévoyez d'utiliser ce projet plutôt que de le tester, veillez à choisir un nom d'instance différent de celui que vous voudrez utiliser pour le travail réel. Sinon, vous risquez de ne pas pouvoir le réutiliser pendant un certain temps.
Faites défiler la page jusqu'en bas, puis appuyez sur Créer.
Vous êtes redirigé vers la page Instances, où vous pouvez voir votre nouvelle instance avec une icône de chargement à gauche, indiquant qu'elle est toujours en cours de création:
Dans deux ou trois minutes, l'instance est disponible, et une coche verte remplace l'icône bleue. Veillez à actualiser la page de temps en temps:
Votre instance Cloud SQL est maintenant prête à être utilisée.
Cliquez sur le nom de l'instance pour afficher la page des détails de l'instance, puis cliquez sur Access Control (Contrôle d'accès) :
Dans l'onglet "Contrôle des accès", appuyez sur Utilisateurs:
Dans l'onglet "Utilisateurs", cliquez sur Modifier le mot de passe racine:
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 Google Cloud Console:
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.
La nouvelle fenêtre Cloud Shell s'affiche en bas de Google Cloud Console, soit lorsque vous appuyez sur Start Cloud Shell (Démarrer Cloud Shell) sur l'écran Google Cloud Shell pour la première fois, soit immédiatement après avoir appuyé sur le bouton "Activate Google Cloud Shell" (Activer Google Cloud Shell).
Connectez-vous à l'instance Cloud SQL à l'aide de la commande gcloud sql affichée ci-dessous, mais remplacez "&lablab-0"" par le nom de votre instance, s'il est différent:
gcloud sql connect codelab-0 --user=root
Vous devriez voir les éléments suivants :
$ 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 illustré ici, vous êtes invité à saisir le mot de passe que vous avez défini à l'étape précédente. Vous disposez maintenant 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, afin de créer une base de données appelée &lablab et codelab :
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
Si la requête renvoie un message d'erreur "OK", votre instance fonctionne. Quittez et chargez des exemples de données pour exécuter des requêtes réelles.
Saisissez "exit;'", puis appuyez sur Entrée pour quitter l'invite mysql.
Nous allons charger l'ensemble de données de l'employé, disponible 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, puis charger les données. Encore une fois, remplacez Qwiklabs-0 par le nom de votre instance, s'il est différent:
$ gcloud sql connect codelab-0 --user=root < employees.sql
Nous pouvons maintenant interroger les données. Vous trouverez quelques exemples de requêtes ci-dessous. Vous pouvez également créer vous-même des requêtes. Pour vous familiariser avec le schéma db, consultez le fichier employees.sql
. Commencez par vous connecter à l'invite SQL et 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 les exemples d'ensembles de données des employés, utilisez la commande "exit'" pour quitter l'invite mysql.
Cette étape est facultative. Si vous souhaitez continuer à tester votre instance Cloud SQL, vous n'avez pas besoin de la supprimer pour le moment. Toutefois, l'instance continuera de vous être facturée pour le projet que vous utilisez. Si vous n'avez plus besoin de cette instance, vous devez la supprimer maintenant pour éviter ces frais.
Notez que lorsque vous supprimez une instance Cloud SQL, vous ne pouvez pas réutiliser son nom pendant un délai d'une semaine.
Vous disposez de deux options pour supprimer votre instance Cloud SQL.
1) Utilisez gcloud
dans votre environnement Cloud Shell. Encore une fois, remplacez Qwiklabs-0 par le nom de votre instance, s'il est différent:
$ 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 des instances Cloud SQL en cliquant sur "SQL" dans l'angle supérieur gauche:
Ouvrez le menu déroulant à côté de l'instance à supprimer, puis sélectionnez "Supprimer" :
La suppression d'une instance est définitive. Les données de cette instance ne peuvent pas être récupérées. Pour éviter de supprimer accidentellement une mauvaise instance, vous devez confirmer la suppression en saisissant le nom de l'instance dans une boîte de dialogue de confirmation:
Saisissez le nom de l'instance, puis appuyez sur Supprimer.
Vous avez créé une instance Cloud SQL, configuré un mot de passe racine et créé une base de données vide, et éventuellement supprimé l'instance Cloud SQL.
Points abordés
- Créer des instances Cloud SQL via Google Cloud Console
- Définition d'un mot de passe racine SQL via Google Cloud Console.
- Connexion à la base de données à l'aide du client mysql.
- Création d'une base de données MySQL via l'invite mysql.
- Supprimer l'instance Cloud SQL
En savoir plus
- Consultez la documentation Google Cloud SQL.