Partage via


Créer et gérer des réplicas en lecture dans Azure Database pour MySQL à l’aide de 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 ?

Dans cet article, apprenez à créer et à gérer des réplicas en lecture dans le service Azure Database pour MySQL à l’aide de PowerShell. Pour en savoir plus sur les réplicas en lecture, consultez vue d’ensemble.

Azure PowerShell

Vous pouvez créer et gérer des réplicas en lecture à l’aide de PowerShell.

Prérequis

Pour utiliser ce guide pratique, il vous faut :

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 vous choisissez d’utiliser PowerShell en local, connectez-vous à votre compte Azure à l’aide de la cmdlet Connect-AzAccount.

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.

Important

La fonctionnalité de réplica en lecture est disponible uniquement pour les serveurs Azure Database pour MySQL dans les niveaux tarifaires Usage général ou Mémoire optimisée. Vérifiez que le serveur source se trouve dans l’un de ces niveaux tarifaires.

Si le GTID est activé sur un serveur primaire (gtid_mode = ON), il sera également activé sur les réplicas nouvellement créés, et ceux-ci utiliseront la réplication basée sur GTID. Pour en savoir plus, reportez-vous à Identificateur de transaction global (GTID)

Créer un réplica en lecture

Important

Si votre serveur source n’a pas de serveurs de réplication existants, le serveur source peut nécessiter un redémarrage pour se préparer à la réplication en fonction du stockage utilisé (v1/v2). Veuillez envisager le redémarrage du serveur et effectuer cette opération pendant les heures creuses. Pour plus d’informations, consultez Redémarrage du Serveur Source.

Un serveur réplica en lecture peut être créé en utilisant la commande suivante :

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

La commande New-AzMySqlReplica requiert les paramètres suivants :

Paramètre Exemple de valeur Description
ResourceGroupName  myResourceGroup  Groupe de ressources où le serveur réplica est créé. 
Nom mydemoreplicaserver Nom du nouveau serveur réplica créé.

Pour créer un réplica en lecture entre régions, utilisez le paramètre Location. L’exemple suivant crée un réplica dans la région USA Ouest.

Get-AzMySqlServer -Name mrdemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup -Location westus

Notes

Pour en savoir plus sur les régions dans lesquelles vous pouvez créer un réplica, consultez l’article Concepts relatifs aux réplicas en lecture.

Par défaut, les réplicas en lecture sont créés avec la même configuration de serveur que le serveur source, sauf si le paramètre Sku est spécifié.

Notes

Il est recommandé de maintenir la configuration du serveur réplica à des valeurs égales ou supérieures à celles du serveur source pour garantir que le réplica sera à la hauteur du serveur maître.

Répertorier les réplicas d'un serveur source

Pour afficher tous les réplicas d'un serveur source donné, exécutez la commande suivante :

Get-AzMySqlReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

La commande Get-AzMySqlReplica requiert les paramètres suivants :

Paramètre Exemple de valeur Description
ResourceGroupName  myResourceGroup  Groupe de ressources dans lequel le serveur réplica sera créé. 
ServerName mydemoserver Nom ou ID du serveur source.

Supprimer un serveur réplica

La suppression d’un serveur réplica en lecture peut être effectuée en exécutant la cmdlet Remove-AzMySqlServer.

Remove-AzMySqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Supprimer un serveur source

Important

La suppression d’un serveur source arrête la réplication vers tous les serveurs réplicas et supprime le serveur source proprement dit. Les serveurs réplicas deviennent des serveurs autonomes qui prennent désormais en charge la lecture et les écritures.

Pour supprimer un serveur source, vous pouvez exécuter la cmdlet Remove-AzMySqlServer.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Problème connu

Il existe deux générations de stockage que les serveurs des niveaux Usage général et À mémoire optimisée utilisent : le stockage Usage général v1 (prend en charge jusqu’à 4 To) et le stockage Usage général v2 (prend en charge jusqu’à 16 To). Le serveur source et le serveur réplica doivent avoir le même type de stockage. Le stockage v2 universel n’étant pas disponible dans toutes les régions, veillez à choisir la région de réplica appropriée lorsque vous utilisez l’emplacement avec PowerShell pour la création de réplica en lecture. Pour savoir comment identifier le type de stockage de votre serveur source, consultez le lien Comment puis-je déterminer le type de stockage sur lequel mon serveur s’exécute ?

Si vous choisissez une région dans laquelle vous ne pouvez pas créer de réplica en lecture pour votre serveur source, vous rencontrerez le problème suivant : le déploiement continuera à s’exécuter comme indiqué dans la figure ci-dessous, puis expirera avec l’erreur « L’opération d’approvisionnement en ressources ne s’est pas terminée dans le délai imparti » .

Erreur CLI d’un réplica en lecture

Étapes suivantes