Configurer MySQL sur Google Compute Engine

Vous disposez de plusieurs options pour déployer MySQL dans le cadre de votre projet Google Cloud Platform. Vous pouvez utiliser Google Cloud SQL ou Google Cloud Platform Marketplace, ou encore installer manuellement MySQL sur Google Compute Engine.

Google Cloud SQL propose MySQL en tant que service Web. Vous pouvez utiliser Google Cloud SQL pour héberger votre base de données MySQL dans le cloud de Google, en laissant Google Cloud Platform gérer les tâches administratives telles que la réplication, la gestion des correctifs et la gestion des bases de données.

GCP Marketplace fournit une interface de déploiement par clic qui facilite l'installation de MySQL sur une instance Compute Engine. GCP Marketplace comprend non seulement une installation MySQL autonome, mais aussi plusieurs piles de développement Web utilisant MySQL, dont les piles LAMP ou LEMP et les clusters Percona MySQL.

Si vous préférez installer et personnaliser manuellement MySQL, vous pouvez utiliser Compute Engine pour créer une base de données MySQL en quelques minutes. Ce document fournit des conseils sur l'option à choisir et décrit l'installation manuelle d'une base de données MySQL sur Compute Engine.

Choisir la bonne option de déploiement de MySQL

Google Cloud SQL est une excellente option si vous souhaitez que Google Cloud Platform se charge des tâches liées à l'administration des bases de données et des serveurs backend. Par exemple, Cloud SQL fournit des fonctionnalités automatisées de sauvegarde et de récupération à un moment précis. De plus, vos données sont répliquées dans plusieurs zones pour plus de disponibilité et de résilience.

Vous pouvez être amené à privilégier l'installation de MySQL sur Compute Engine si vous avez besoin d'une fonctionnalité MySQL qui n'est pas prise en charge par Cloud SQL. Par exemple, Cloud SQL n'accepte pas les fonctions définies par l'utilisateur ni le privilège SUPER. Pour plus d'informations, consultez les questions fréquentes sur Cloud SQL.

Si vous décidez d'installer MySQL sur Compute Engine, vous pouvez utiliser Google GCP Marketplace pour déployer une installation de MySQL ou installer manuellement MySQL sur une instance Compute Engine. GCP Marketplace constitue un moyen pratique de déployer MySQL dans le cadre de piles de développement plus vastes. GCP Marketplace propose plusieurs options d'installation de MySQL, dont une installation autonome, des piles LAMP, LEMP ou Nginx, et une installation Percona MySQL Cluster.

Si les offres GCP Marketplace ne répondent pas à vos besoins, vous pouvez installer MySQL manuellement sur une instance Compute Engine. Par exemple, vous pourriez avoir pour objectif de déployer MySQL sur une image personnalisée que vous avez créée, ou bien de garder le contrôle complet du processus d'installation.

Pour installer MySQL manuellement sur une instance Compute Engine, il vous suffit de créer l'instance et d'installer MySQL directement sur celle-ci. Ce processus est décrit dans le reste de ce document.

Objectifs

  • Créer une instance Compute Engine
  • Installer MySQL
  • Se connecter à MySQL

Prérequis

  1. Créez un projet dans la console Google Cloud Platform. Vous pouvez bien sûr utiliser un projet existant, mais les opérations de nettoyage seront bien plus faciles si vous créez un projet spécifique.

Vous pouvez suivre toutes les étapes de ce document à l'aide de la console Google Cloud Platform. Toutefois, si vous préférez utiliser l'outil de ligne de commande gcloud, procédez comme suit pour activer l'API Compute Engine et installer le SDK Google Cloud.

  1. Utilisez la console Google Cloud Platform pour activer l'API Compute Engine.

  2. Installez le SDK Google Cloud.

  3. Configurez votre espace de travail de façon à pouvoir alléger la syntaxe des commandes. Remplacez [PROJECT_ID] et [ZONE] par les valeurs correspondant à votre projet dans les commandes ci-dessous. Pour obtenir la liste complète des zones, reportez-vous à la section Régions et zones disponibles.

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    

Créer une instance Compute Engine

Créez une instance Compute Engine pour MySQL, puis établissez une connexion SSH avec cette nouvelle instance. Le système d'exploitation par défaut est Debian version 9. Si vous préférez utiliser un autre système d'exploitation pour ce tutoriel, vous pouvez choisir l'une des options décrites à la page Images de la documentation Compute Engine.

Console


Pour créer une instance Compute Engine dans la console Google Cloud Platform :

  1. Ouvrez la console Google Cloud Platform.

  2. Sélectionnez le projet que vous venez de créer et cliquez sur Continuer.

  3. Cliquez sur Créer une instance (ou sur Nouvelle instance si vous disposez déjà d'instances). Nommez l'instance mysql-test.

  4. Pour spécifier un système d'exploitation autre que la valeur par défaut, cliquez sur Modifier dans la section Disque de démarrage, puis sélectionnez le système d'exploitation et cliquez sur Sélectionner.

  5. Cliquez sur Créer.

Pour établir une connexion SSH :

  1. Sur la page Instances de VM, localisez votre nouvelle instance de VM dans la liste.

  2. Dans la colonne Connecter, cliquez sur SSH. Le terminal SSH s'ouvre dans une fenêtre de navigateur.

gcloud


  1. Pour créer une instance Compute Engine, utilisez la commande gcloud compute instances create. Pour utiliser un autre système d'exploitation, ajoutez le paramètre --image suivi du nom de l'image. Par exemple, pour utiliser Debian 9, ajoutez --image debian-9.

    gcloud compute instances create mysql-test
    
  2. Connectez-vous à l'instance via ssh.

    gcloud compute ssh mysql-test
    

Installer MySQL

Les étapes suivantes vous montrent comment installer MySQL sur une instance Compute Engine.

Debian et Ubuntu


  1. Mettez à jour le gestionnaire de packages apt-get.

    sudo apt-get update
    
  2. Installez MySQL. Le processus d'installation se charge de lancer le service MySQL.

    sudo apt-get -y install mysql-server
    

CentOS 6 et RHEL 6


  1. Installez MySQL.

    sudo yum -y install mysql-server
    
  2. Démarrez le serveur MySQL.

    sudo service mysqld start
    

CentOS 7 et RHEL 7


La version 7 de CentOS et RHEL propose maintenant MariaDB au lieu de MySQL dans son système de gestion de packages. Avant d'installer MySQL sur CentOS 7, vous devez mettre à jour le gestionnaire de packages.

  1. Mettez à jour le gestionnaire de packages de façon à inclure MySQL.

    sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
  2. Installez MySQL.

    sudo yum -y install mysql-community-server
    
  3. Démarrez le serveur MySQL.

    sudo /usr/bin/systemctl start mysqld
    

Améliorer la sécurité de l'installation MySQL

Pour améliorer la sécurité de votre installation MySQL, exécutez la commande mysql_secure_installation. Si vous n'avez pas défini de mot de passe au cours du processus d'installation, créez-en un à cette étape. Pour plus d'informations sur cette commande, consultez la section mysql_secure_installation de la documentation MySQL.

sudo mysql_secure_installation

Se connecter à MySQL

Les étapes qui suivent montrent comment se connecter à MySQL à partir de votre instance mysql-test.

  1. Connectez-vous à MySQL en utilisant le client MySQL.

    sudo mysql -u root -p
    

    Lorsque vous vous connectez à MySQL, l'invite devient :

    mysql>

    Vous pouvez alors exécuter des commandes MySQL. Par exemple, la commande suivante affiche les threads en cours d'exécution, y compris la connexion en cours.

    mysql> SHOW processlist;
    +----+------+-----------+------+---------+------+-------+------------------+
    | Id | User | Host      | db   | Command | Time | State | Info             |
    +----+------+-----------+------+---------+------+-------+------------------+
    | 51 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
    +----+------+-----------+------+---------+------+-------+------------------+
    1 row in set (0.00 sec)

    La commande suivante vous permet de générer la liste des utilisateurs.

    mysql> SELECT User, Host, Password FROM mysql.user;
    +------------------+------------+-------------------------------------------+
    | User             | Host       | Password                                  |
    +------------------+------------+-------------------------------------------+
    | root             | localhost  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | mysql-test | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | 127.0.0.1  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | ::1        | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | debian-sys-maint | localhost  | *AD7B08AF7691A552A57900F1A9D8AE26ED499117 |
    +------------------+------------+-------------------------------------------+
    5 rows in set (0.00 sec)
  2. Une fois l'exécution des commandes terminée, utilisez exit pour quitter le client MySQL. Ensuite, exécutez de nouveau exit pour vous déconnecter de l'instance Compute Engine.

    mysql> exit
    exit

Nettoyer

Une fois que vous avez terminé le tutoriel sur MySQL, vous pouvez nettoyer les ressources que vous avez créées sur GCP afin qu'elles ne soient plus comptabilisées dans le quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer le projet

Le moyen le plus simple d'éviter la facturation consiste à supprimer le projet que vous avez créé pour le tutoriel.

Pour supprimer le projet :

  1. Dans la console GCP, accédez à la page "Projets".

    Accéder à la page Projets

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer des instances

Pour supprimer une instance Compute Engine, procédez comme suit :

  1. Dans la console GCP, accédez à la page "Instances de VM".

    Accéder à la page Instances de VM

  2. Cochez la case à côté de Il s'agit de l'instance que vous souhaitez supprimer.
  3. Cliquez sur le bouton Supprimer en haut de la page pour supprimer l'instance.

Étapes suivantes

Vous savez maintenant comment installer le serveur MySQL sur Compute Engine. Pour découvrir des applications plus complexes utilisant MySQL, parcourez la grande variété de piles de développement proposées sur GCP Marketplace.

Si vos besoins incluent haute disponibilité et évolutivité, envisagez d'installer MySQL Cluster sur Compute Engine. MySQL Cluster offre une disponibilité et une évolutivité élevées grâce au clustering sans partage et au partitionnement automatique des données. GCP Marketplace propose une option de déploiement en un clic pour Percona, une solution Open Source dédiée au clustering MySQL.

Une autre solution Open Source dédiée à l’évolutivité de MySQL est Vitess, qui dessert l’ensemble du trafic de base de données de YouTube depuis 2011. Vitess est parfaitement adapté aux applications exécutées dans des conteneurs. Pour en savoir plus sur l'utilisation de Vitess dans un environnement de conteneurs, consultez la page Exécuter Vitess sur Kubernetes.

Pour plus d'informations sur MySQL, reportez-vous à la documentation officielle de MySQL.

Testez par vous-même d'autres fonctionnalités de Google Cloud Platform. Découvrez nos tutoriels.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…