Didacticiel : Créer une base de données Azure Database pour MySQL à l’aide d’Azure CLI

S’APPLIQUE À : Azure Database pour MySQL - Serveur unique

Important

Azure Database pour MySQL serveur unique se trouve sur le chemin de mise hors service. Nous vous recommandons vivement de procéder à la mise à niveau vers Azure Database pour MySQL serveur flexible. Pour plus d’informations sur la migration vers Azure Database pour MySQL serveur flexible, consultez Ce qui se passe pour Azure Database pour MySQL serveur unique ?

Azure Database pour MySQL est un service de base de données relationnelle dans le cloud de Microsoft basé sur le moteur de base de données MySQL Community Edition. Dans ce didacticiel, vous allez utiliser l’interface Azure CLI (interface de ligne de commande) et d’autres utilitaires pour apprendre à :

  • Créer une base de données Azure pour MySQL
  • Configurer le pare-feu du serveur
  • Utiliser l’outil de ligne de commande mysql pour créer une base de données
  • Charger un exemple de données
  • Interroger des données
  • Mettre à jour des données
  • Restaurer des données

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

  • Cet article nécessite la version 2.0 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.

Si vous possédez plusieurs abonnements, sélectionnez l’abonnement approprié dans lequel la ressource existe ou est facturée. Sélectionnez un ID d’abonnement spécifique sous votre compte à l’aide de la commande az account set.

az account set --subscription 00000000-0000-0000-0000-000000000000

Créer un groupe de ressources

Créez un groupe de ressources Azure avec la commande az group create. Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées en tant que groupe.

L’exemple suivant crée un groupe de ressources nommé myresourcegroup à l’emplacement westus.

az group create --name myresourcegroup --location westus

Création d’un serveur Azure Database pour MySQL

Créez un serveur Azure Database pour MySQL avec la commande az sql server create. Un serveur peut gérer plusieurs bases de données. En règle générale, une base de données distincte est utilisée pour chaque projet ou pour chaque utilisateur.

L’exemple suivant crée un serveur Azure Database pour MySQL situé dans westus dans le groupe de ressources myresourcegroup avec le nom mydemoserver. Le serveur dispose d’un utilisateur administrateur avec le nom myadmin. Il s’agit d’un serveur à usage général, de 5e génération avec 2 vCores. Remplacez <server_admin_password> par votre propre valeur.

az mysql server create --resource-group myresourcegroup --name mydemoserver --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 5.7

La valeur du paramètre sku-name suit la convention {tarification}_{génération de calcul}_{vCores} comme dans les exemples ci-dessous :

  • --sku-name B_Gen5_2 correspond à De base, Gen 5 et 2 vCores.
  • --sku-name GP_Gen5_32 correspond à Usage général, Gen 5 et 32 vCores.
  • --sku-name MO_Gen5_2 correspond à Mémoire optimisée, Gen 5 et 2 vCores.

Consultez la documentation des niveaux tarifaires pour comprendre les valeurs valides par région et par niveau.

Important

La connexion d’administrateur serveur et le mot de passe que vous spécifiez ici seront requis plus loin dans ce guide de démarrage rapide pour la connexion au serveur et à ses bases de données. Retenez ou enregistrez ces informations pour une utilisation ultérieure.

Configurer une règle de pare-feu

Créez une règle de pare-feu au niveau du serveur Azure Database pour MySQL avec la commande az mysql server firewall-rule create. Une règle de pare-feu au niveau du serveur permet à une application externe, comme l’outil de ligne de commande mysql ou MySQL Workbench de se connecter à votre serveur via le pare-feu du service Azure MySQL.

L’exemple suivant crée une règle de pare-feu appelée AllowMyIP qui autorise les connexions d’une adresse IP spécifique, 192.168.0.1. Remplacez l’adresse ou la plage d’adresses IP qui correspondent à l’emplacement de votre connexion.

az mysql server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

Obtenir les informations de connexion

Pour vous connecter à votre serveur, vous devez fournir des informations sur l’hôte et des informations d’identification pour l’accès.

az mysql server show --resource-group myresourcegroup --name mydemoserver

Le résultat est au format JSON. Notez les valeurs fullyQualifiedDomainName et administratorLogin.

{
  "administratorLogin": "myadmin",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
 "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/servers",
  "userVisibleState": "Ready",
  "version": "5.7"
}

Se connecter au serveur à l’aide de mysql

Utilisez l’outil de ligne de commande mysql pour établir une connexion à votre serveur Azure Database pour MySQL. Dans cet exemple, la commande est :

mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p

Créer une base de données vide

Une fois que vous êtes connecté au serveur, créez une base de données vide.

mysql> CREATE DATABASE mysampledb;

À l’invite, exécutez la commande suivante pour basculer la connexion sur la base de données nouvellement créée :

mysql> USE mysampledb;

Créer des tables dans la base de données

Maintenant que vous savez vous connecter à la base de données Azure Database pour MySQL, effectuez certaines tâches de base.

Tout d’abord, créez une table et chargez-y des données. Nous allons créer une table qui stocke des données d’inventaire.

CREATE TABLE inventory (
	id serial PRIMARY KEY, 
	name VARCHAR(50), 
	quantity INTEGER
);

Charger des données dans les tables

Maintenant que vous disposez d’une table, insérez-y des données. Dans la fenêtre d’invite de commandes ouverte, exécutez la requête suivante pour insérer des lignes de données.

INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150); 
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);

Vous avez maintenant chargé deux lignes de données dans la table que vous avez créée précédemment.

Interroger et mettre à jour les données des tables

Exécutez la requête suivante pour récupérer des informations à partir de la table de base de données.

SELECT * FROM inventory;

Vous pouvez également mettre à jour les données des tables.

UPDATE inventory SET quantity = 200 WHERE name = 'banana';

La ligne est mise à jour en conséquence lorsque vous récupérez les données.

SELECT * FROM inventory;

Restaurer une version antérieure d’une base de données

Imaginez que vous avez supprimé cette table par erreur. Il s’agit de quelque chose que vous ne pouvez pas récupérer facilement. La base de données Azure pour MySQL vous permet de revenir à n’importe quel moment dans le temps au cours de ces 35 derniers jours et de procéder à une restauration à ce point dans le temps vers un nouveau serveur. Vous pouvez alors utiliser ce nouveau serveur pour récupérer les données supprimées. Les étapes suivantes restaurent le serveur à l’état dans lequel il était avant l’ajout de la table.

Pour effectuer la restauration, vous avez besoin des informations suivantes :

  • Point de restauration : sélectionnez un point dans le temps avant la modification du serveur. Doit être supérieure ou égale à la plus ancienne valeur de sauvegarde de la base de données source.
  • Serveur cible : spécifiez un nouveau nom de serveur sur lequel vous souhaitez effectuer la restauration
  • Serveur source : indiquez le nom du serveur à partir duquel vous voulez effectuer la restauration
  • Emplacement : vous ne pouvez pas sélectionner la région. Par défaut, elle est identique à celle du serveur source
az mysql server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver

La commande az mysql server restore a besoin des paramètres suivants :

Paramètre Valeur suggérée Description
resource-group  myResourceGroup  Groupe de ressources dans lequel se trouve le serveur source. 
name mydemoserver-restored Nom du serveur créé par la commande de restauration.
restore-point-in-time 2017-04-13T13:59:00Z Choisissez la date et l’heure à utiliser pour la restauration. Elles doivent être comprises dans la période de rétention de la sauvegarde du serveur source. Utilisez le format de date et d’heure ISO8601. Par exemple, vous pouvez utiliser votre fuseau horaire local, comme 2017-04-13T05:59:00-08:00, ou le format UTC Zulu 2017-04-13T13:59:00Z.
source-server mydemoserver Nom ou identifiant du serveur source à partir duquel la restauration s’effectuera.

La restauration d’un serveur à un point antérieur dans le temps entraîne la création d’un nouveau serveur, qui est la copie du serveur d’origine tel qu’il était à l’instant spécifié. Les valeurs d’emplacement et de niveau tarifaire du serveur restauré sont les mêmes que celles du serveur source.

La commande est synchrone ; elle est renvoyée après la restauration du serveur. Une fois la restauration terminée, recherchez le serveur créé. Vérifiez que les données ont été restaurées comme prévu.

Nettoyer les ressources

Si vous n’avez pas besoin de ces ressources pour un autre guide de démarrage rapide ou didacticiel, vous pouvez les supprimer en exécutant la commande suivante :

az group delete --name myresourcegroup

Si vous souhaitez simplement supprimer le serveur nouvellement créé, vous pouvez exécuter la commande az mysql server delete.

az mysql server delete --resource-group myresourcegroup --name mydemoserver

Étapes suivantes

Dans ce didacticiel, vous avez appris à effectuer les opérations suivantes :

  • Création d’un serveur Azure Database pour MySQL
  • Configurer le pare-feu du serveur
  • Utiliser l’outil en ligne de commande mysql pour créer une base de données
  • Charger un exemple de données
  • Interroger des données
  • Mettre à jour des données
  • Restaurer des données

Azure Database for MySQL - Azure CLI samples (Base de données Azure pour MySQL - Exemples avec Azure CLI)