Partager via


Démarrage rapide : Créer un serveur Azure Database pour MySQL avec PowerShell

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

Important

Le serveur unique Azure Database pour MySQL est en voie de mise hors service. Nous vous conseillons vivement de procéder à une mise à niveau vers Azure Database pour MySQL – Serveur flexible. Pour obtenir plus d’informations sur la migration vers Azure Database pour MySQL – Serveur flexible, consultez Qu’en est-il du Serveur unique Azure Database pour MySQL ?

Ce guide de démarrage rapide explique comment utiliser PowerShell pour créer un serveur Azure Database pour MySQL dans un groupe de ressources Azure. Vous pouvez utiliser PowerShell pour créer et gérer des ressources Azure de façon interactive ou dans des scripts.

Prérequis

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

Si vous choisissez d’utiliser PowerShell localement, cet article vous demande d’installer le module Az PowerShell et de vous connecter à votre compte Azure avec l’applet de commande Connect-AzAccount. Pour en savoir plus sur l’installation du module Az PowerShell, consultez Installer Azure PowerShell.

Important

Tant que le module Az.MySql PowerShell est en préversion, vous devez l’installer séparément du module Az PowerShell à l’aide de la commande suivante : Install-Module -Name Az.MySql -AllowPrerelease. Une fois que le module Az.MySql PowerShell est en disponibilité générale, il devient partie intégrante des versions futures du module Az PowerShell et disponible en mode natif dans Azure Cloud Shell.

Si c’est la première fois que vous utilisez le service Azure Database pour MySQL, vous devez inscrire le fournisseur de ressources Microsoft.DBforMySQL.

Register-AzResourceProvider -ProviderNamespace Microsoft.DBforMySQL

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Capture d’écran présentant un exemple d’essai pour Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Bouton permettant de lancer Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Capture d’écran présentant le bouton Cloud Shell dans le portail Azure.

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Si vous avez plusieurs abonnements Azure, sélectionnez l’abonnement approprié dans lequel les ressources doivent être facturées. Sélectionnez un ID d’abonnement spécifique avec l’applet de commande Set-AzContext.

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

Créer un groupe de ressources

Créez un groupe de ressources Azure avec l’applet de commande New-AzResourceGroup. 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 dans la région USA Ouest.

New-AzResourceGroup -Name myresourcegroup -Location westus

Création d’un serveur Azure Database pour MySQL

Créez un serveur Azure Database pour MySQL avec l’applet de commande New-AzMySqlServer. 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.

Le tableau suivant contient la liste des paramètres couramment utilisés et des exemples de valeurs pour l’applet de commande New-AzMySqlServer.

Paramètre Exemple de valeur Description
Nom mydemoserver Choisissez un nom global unique dans Azure qui identifie votre serveur Azure Database pour MySQL. Le nom du serveur peut uniquement contenir des lettres, des chiffres et le caractère de trait d’union (-). Les caractères en majuscules spécifiés sont convertis automatiquement en minuscules pendant le processus de création. Il doit inclure entre 3 et 63 caractères.
ResourceGroupName myResourceGroup Indiquez le nom du groupe de ressources Azure.
Sku GP_Gen5_2 Nom de la référence SKU. Suit la convention niveau-tarifaire_génération-de-calcul_vCores dans le raccourci. Pour plus d’informations sur le paramètre Sku, consultez les informations après ce tableau.
BackupRetentionDay 7 Durée pendant laquelle la sauvegarde doit être conservée. Exprimée en jours. La plage s’étend de 7 à 35.
GeoRedundantBackup activé Indique si les sauvegardes géoredondantes doivent être activées ou non pour ce serveur. Cette valeur ne peut pas être activée pour les serveurs dans le niveau tarifaire de base et ne peut pas être modifiée après la création du serveur. Valeurs autorisées : Activé, Désactivé.
Emplacement westus Région Azure pour le serveur.
SslEnforcement activé Indique si le protocole SSL doit être activé ou non pour ce serveur. Valeurs autorisées : Activé, Désactivé.
StorageInMb 51200 Capacité de stockage du serveur (en mégaoctets). Un StorageInMb valide est un minimum de 5 120 Mo et augmente par incrément de 1 024 Mo. Pour plus d’informations sur les limites de taille du stockage, consultez Niveaux tarifaires d’Azure Database pour MySQL.
Version 5.7 Version principale de MySQL.
AdministratorUserName myadmin Nom d’utilisateur du compte administrateur. Il ne peut pas être azure_superuser (superutilisateur), admin, administrator (administrateur), root (racine), guest (invité) ou public.
AdministratorLoginPassword <securestring> Mot de passe de l’utilisateur administrateur sous la forme d’une chaîne sécurisée. Il doit contenir entre 8 et 128 caractères. Votre mot de passe doit contenir des caractères de trois des catégories suivantes : Lettres majuscules, lettres minuscules, chiffres et caractères non alphanumériques.

La valeur du paramètre Sku suit la convention niveau-tarifaire_génération-de-calcul_vCores comme illustré dans les exemples suivants.

  • -Sku B_Gen5_1 correspond à De base, Gen 5 et 1 vCore. Cette option correspond à la plus petite référence disponible.
  • -Sku GP_Gen5_32 correspond à Usage général, Gen 5 et 32 vCores.
  • -Sku MO_Gen5_2 correspond à Mémoire optimisée, Gen 5 et 2 vCores.

Pour plus d’informations sur les valeurs Sku valides par région et pour les niveaux, consultez Niveaux tarifaires d’Azure Database pour MySQL.

L’exemple suivant crée un serveur MySQL dans la région USA Ouest appelée mydemoserver dans le groupe de ressources myresourcegroup avec une connexion d’administrateur au serveur de myadmin. Il s’agit d’un serveur de génération 5 dans le niveau tarifaire à usage général avec 2 vCores et des sauvegardes géoredondantes activées. Documentez le mot de passe utilisé sur la première ligne de l’exemple, car il s’agit du mot de passe du compte d’administrateur du serveur MySQL.

Conseil

Un nom de serveur est mappé à un nom DNS et doit être globalement unique dans Azure.

$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password

Choisissez le niveau tarifaire De base si votre charge de travail n’a pas besoin d’une grande capacité de calcul et d’E/S.

Important

Par la suite, les serveurs créés avec le niveau tarifaire De base ne pourront plus être mis à l’échelle vers le niveau à usage général ou mémoire optimisée, ni être géorépliqués.

Configurer une règle de pare-feu

Créez une règle de pare-feu au niveau du serveur Azure Database pour MySQL en utilisant l’applet de commande New-AzMySqlFirewallRule. 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 Database pour MySQL.

L’exemple suivant crée une règle de pare-feu appelée AllowMyIP qui autorise les connexions depuis une adresse IP spécifique, 192.168.0.1. Remplacez une adresse IP ou une plage d’adresses IP qui correspond à l’emplacement à partir duquel vous vous connectez.

New-AzMySqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1

Notes

Les connexions à la base de données Azure pour MySQL communiquent via le port 3306. Si vous essayez de vous connecter à partir d’un réseau d’entreprise, le trafic sortant sur le port 3306 peut être bloqué. Dans ce scénario, vous pouvez vous connecter à votre serveur seulement si le service informatique ouvre le port 3306.

Configurer les paramètres SSL

Par défaut, des connexions SSL entre votre serveur et les applications clientes sont appliquées. Ce paramètre par défaut garantit la sécurité des données en mouvement en chiffrant le flux de données sur Internet. Pour ce démarrage rapide, désactivez les connexions SSL de votre serveur. Pour plus d’informations, consultez l’article Configuration de la connectivité SSL dans votre application pour se connecter en toute sécurité à la base de données Azure pour MySQL.

Avertissement

La désactivation des connexions SSL n’est pas recommandée pour les serveurs de production.

L’exemple suivant désactive SSL sur votre serveur Azure Database pour MySQL.

Update-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -SslEnforcement Disabled

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. Utilisez l’exemple suivant pour déterminer les informations de connexion. Notez les valeurs des champs FullyQualifiedDomainName et AdministratorLogin.

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName                    AdministratorLogin
------------------------                    ------------------
mydemoserver.mysql.database.azure.com       myadmin

Se connecter au serveur avec l’outil en ligne de commande mysql

Connectez-vous à votre serveur avec l’outil en ligne de commande mysql. Pour télécharger et installer l’outil en ligne de commande, consultez MySQL Community Downloads. Vous pouvez aussi accéder à une version préinstallée de l’outil en ligne de commande mysql dans Azure Cloud Shell en sélectionnant le bouton Essayer sur un exemple de code de cet article. D’autres moyens d’accéder à Azure Cloud Shell consistent à sélectionner le bouton >_ dans la barre d’outils en haut à droite du portail Azure ou à accéder à shell.azure.com.

  1. Connectez-vous au serveur avec l’outil en ligne de commande mysql.

    mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    
  2. Consultez l’état du serveur.

    mysql> status
    
    C:\Users\>mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    Enter password: *************
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 65512
    Server version: 5.6.42.0 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, 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> status
    --------------
    mysql  Ver 14.14 Distrib 5.7.29, for Win64 (x86_64)
    
    Connection id:          65512
    Current database:
    Current user:           myadmin@myipaddress
    SSL:                    Not in use
    Using delimiter:        ;
    Server version:         5.6.42.0 MySQL Community Server (GPL)
    Protocol version:       10
    Connection:             mydemoserver.mysql.database.azure.com via TCP/IP
    Server characterset:    latin1
    Db     characterset:    latin1
    Client characterset:    utf8
    Conn.  characterset:    utf8
    TCP port:               3306
    Uptime:                 1 hour 2 min 12 sec
    
    Threads: 7  Questions: 952  Slow queries: 0  Opens: 66  Flush tables: 3  Open tables: 16  Queries per second avg: 0.255
    --------------
    
    mysql>
    

Pour les autres commandes, consultez le Manuel de référence de MySQL 5.7 - Chapitre 4.5.1.

Se connecter au serveur à l’aide de MySQL Workbench

  1. Lancez l’application MySQL Workbench sur votre ordinateur client. Pour télécharger et installer MySQL Workbench, consultez Download MySQL Workbench.

  2. Dans la boîte de dialogue Configurer une nouvelle connexion, entrez les informations suivantes dans l’onglet Paramètres :

    Paramètre Valeur suggérée Description
    Nom de connexion Ma connexion Spécifier une étiquette pour cette connexion
    Méthode de connexion Standard (TCP/IP) Utiliser le protocole TCP/IP pour vous connecter à Azure Database pour MySQL
    HostName mydemoserver.mysql.database.azure.com Nom du serveur que vous avez noté précédemment
    Port 3306 Port par défaut pour MySQL
    Nom d’utilisateur myadmin@mydemoserver Connexion d’administrateur serveur que vous avez notée précédemment
    Mot de passe ************* Utiliser le mot de passe du compte Administrateur que vous avez configuré précédemment
  3. Pour tester si les paramètres sont correctement configurés, cliquez sur le bouton Tester la connexion.

  4. Sélectionnez la connexion pour vous connecter au serveur.

Nettoyer les ressources

Si vous n’avez pas besoin des ressources que vous avez créées dans ce démarrage rapide pour un autre démarrage rapide ou un tutoriel, vous pouvez les supprimer en exécutant l’exemple suivant.

Attention

L’exemple suivant supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si des ressources en dehors du cadre de ce démarrage rapide existent dans le groupe de ressources spécifié, elles seront également supprimées.

Remove-AzResourceGroup -Name myresourcegroup

Pour supprimer uniquement le serveur créé dans ce démarrage rapide sans supprimer le groupe de ressources, utilisez l’applet de commande Remove-AzMySqlServer.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Étapes suivantes