Déployer une instance Azure Database pour MySQL

Effectué

Azure Database pour MySQL est un service de base de données relationnelle alimenté par MySQL Community Edition. Il s’agit d’une offre de base de données en tant que service (DBaaS) entièrement managée qui peut gérer des charges de travail stratégiques avec des performances prévisibles et une scalabilité dynamique.

Options de déploiement d’Azure Database pour MySQL

Pour héberger une base de données MySQL dans Azure, vous pouvez utiliser l’option de déploiement de serveur flexible. L’option Serveur flexible fournit les fonctionnalités suivantes :

  • Meilleur contrôle de vos serveurs de base de données et optimisation des coûts.
  • Possibilité de développer des applications en personnalisant le moteur MySQL.
  • Une haute disponibilité redondante interzone.
  • Fenêtres de maintenance managées pour contrôler le minutage des correctifs et des mises à niveau.
  • Paramètres de configuration pour le réglage.

Commandes pour le déploiement d’une instance de serveur

Cette unité décrit les étapes de déploiement d’une instance de serveur flexible Azure Database pour MySQL. Vous exécutez réellement des étapes similaires dans l’unité suivante, y compris l’exécution d’un script qui effectue certaines étapes pour vous.

Pour déployer une instance de serveur flexible Azure Database pour MySQL, vous créez d’abord un groupe de ressources. Vous créez ensuite l’instance de serveur dans le groupe de ressources. Enfin, pour accéder à l’instance, vous configurez une règle de pare-feu.

Les étapes suivantes décrivent les commandes pour ces tâches :

  1. Pour vous connecter à Azure CLI, utilisez la commande suivante :

    az login
    
  2. Pour créer un groupe de ressources Azure, vous utilisez la commande suivante :

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    La liste suivante décrit les valeurs que vous utilisez pour les espaces réservés <...> :

    • <resource-group-name> doit être unique dans votre abonnement.
    • <location> doit être l’une des valeurs retournées dans la Name colonne lorsque vous utilisez la commande az account list-locations --output table.
  3. Pour créer une instance de serveur flexible Azure Database pour MySQL, utilisez la commande suivante :

    az mysql flexible-server create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --sku-name Standard_B1ms \
        --tier Burstable \
        --public-access <public-IP> \
        --storage-size 32 \
        --storage-auto-grow Enabled \
        --iops 500 \
        --version 8.0.21
    

    La liste suivante décrit les valeurs que vous utilisez pour les espaces réservés <...>, en plus des valeurs précédemment décrites :

    • <MySQL-server-name> doit être unique dans le groupe de ressources. Le nom ne peut contenir que des lettres minuscules, des chiffres et le caractère trait d’union (-). Le nom doit être compris entre 3 et 63 caractères inclusivement, et si cela est pratique, vous pouvez simplement utiliser la même valeur que celle utilisée pour <resource-group-name>.
    • <MySQL-password> est le mot de passe de l’administrateur. Le mot de passe doit être compris entre 8 et 128 caractères longs, inclus, et doit contenir des caractères de trois des catégories suivantes : lettres majuscules anglaises, lettres minuscules, chiffres et caractères non alphanumériques.
    • <public-IP> est l’adresse IP publique du nom d’hôte à partir duquel vous souhaitez autoriser les connexions en dehors d’Azure, qui est utilisée pour tester la base de données à partir de votre hôte local.
  4. Pour créer une règle de pare-feu, utilisez la commande suivante avec les mêmes valeurs d’espace réservé que celles des commandes précédentes :

    az mysql flexible-server firewall-rule create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --rule-name AllowAllAzureIPs \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    

Connecter et tester la connexion à l’aide d’Azure CLI

Depuis MySQL 8.0, la méthode d'authentification de l'utilisateur a changé en caching_sha2_password, ce qui rend l'authentification mysql_native_password indisponible. Vous pouvez également utiliser la commande dans Azure CLI pour tester la az mysql flexible-server connect connectivité à votre serveur de base de données, créer rapidement une base de données de base et exécuter des requêtes directement sur votre serveur sans installer mysql.exe ou MySQL Workbench. Vous pouvez également utiliser la commande en mode interactif pour exécuter plusieurs requêtes à la fois.

Utilisez les commandes suivantes pour créer une base de données, vous connecter au serveur et exécuter une requête, en utilisant les mêmes valeurs d’espace réservé des commandes précédentes et la nouvelle <database-name> valeur pour nommer la base de données.

  1. Pour créer une base de données, utilisez la commande suivante :

    az mysql flexible-server db create \
        --resource-group <resource-group-name> \
        --server-name <MySQL-server-name> \
        --database-name <database-name> \
        --charset utf8mb4 \
        --collation utf8mb4_unicode_ci
    
  2. Pour vous connecter au serveur en mode interactif, utilisez la commande suivante :

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. Pour exécuter une requête, utilisez la commande suivante :

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --querytext "select * from table1;"
    

    Vous pouvez également placer la requête dans un fichier et utiliser la commande suivante pour exécuter la requête :

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --file-path "./test.sql"
    

Résumé de l’unité

Vous avez appris les commandes pour créer une instance de serveur flexible Azure Database pour MySQL. Dans l’unité suivante, vous créez et configurez la base de données à utiliser dans votre application Jakarta EE.