Teilen über


Informationen zum Erstellen und Verwalten von Lesereplikaten in Azure Database for MySQL mithilfe von PowerShell

GILT FÜR: Azure Database for MySQL – Single Server

Wichtig

Azure Database for MySQL Single Server wird eingestellt. Es wird dringend empfohlen, ein Upgrade auf Azure Database for MySQL Flexible Server auszuführen. Weitere Informationen zum Migrieren zu Azure Database for MySQL Flexible Server finden Sie unter Was geschieht mit Azure Database for MySQL Single Server?

In diesem Artikel erfahren Sie, wie Sie Lesereplikate im Azure Database for MySQL-Dienst über PowerShell erstellen und verwalten. Weitere Informationen zu Lesereplikaten finden Sie in der Übersicht.

Azure PowerShell

Sie können Lesereplikate mithilfe von PowerShell erstellen und verwalten.

Voraussetzungen

Zum Durcharbeiten dieses Leitfadens benötigen Sie Folgendes:

Wichtig

Solange nur eine Vorschauversion des PowerShell-Moduls „Az.MySql“ verfügbar ist, müssen Sie es separat über das AZ PowerShell-Modul installieren. Verwenden Sie dazu den folgenden Befehl: Install-Module -Name Az.MySql -AllowPrerelease. Sobald das PowerShell-Modul „Az.MySql“ allgemein verfügbar ist, wird es in die zukünftigen Releases des Az PowerShell-Moduls integriert und in Azure Cloud Shell nativ zur Verfügung gestellt.

Wenn Sie PowerShell lieber lokal verwenden möchten, stellen Sie mithilfe des Cmdlets Connect-AzAccount eine Verbindung mit Ihrem Azure-Konto her.

Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.

Starten von Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. Screenshot: Beispiel von „Jetzt testen“ für Azure Cloud Shell.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. Schaltfläche zum Starten von Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot: Schaltfläche „Cloud Shell“ im Azure-Portal

So verwenden Sie Azure Cloud Shell:

  1. Starten Sie Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.

  3. Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.

  4. Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.

Wichtig

Das Feature für Lesereplikate ist nur für Azure Database for MySQL-Server in den Tarifen „Universell“ oder „Arbeitsspeicheroptimiert“ verfügbar. Stellen Sie sicher, dass für den Quellserver einer der folgenden Tarife festgelegt ist.

Wenn GTID auf einem primären Server aktiviert ist (gtid_mode = ON), wird für neu erstellte Replikate GTID ebenfalls aktiviert, und es wird die GTID-Replikation verwendet. Weitere Informationen finden Sie unter Globaler Transaktionsbezeichner (GTID).

Erstellen eines Lesereplikats

Wichtig

Verfügt der Quellserver über keine Replikatserver, ist für den Quellserver möglicherweise ein Neustart erforderlich, um sich je nach verwendetem Speicher (V1/V2) auf die Replikation vorzubereiten. Starten Sie den Server möglichst neu, und führen Sie diesen Vorgang außerhalb der Spitzenzeiten aus. Weitere Informationen finden Sie unter Quellserverneustart.

Ein Lesereplikatserver kann mit dem folgenden Befehl erstellt werden:

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

Für den Befehl New-AzMySqlReplica sind folgende Parameter erforderlich:

Einstellung Beispielswert Beschreibung
ResourceGroupName  myresourcegroup  Die Ressourcengruppe, in der der Replikatserver erstellt wird. 
Name mydemoreplicaserver Der Name des neuen Replikatservers, der erstellt wird.

Verwenden Sie den Location-Parameter, um ein regionsübergreifendes Lesereplikat zu erstellen. Im folgenden Beispiel wird ein Replikat in der Region USA, Westen erstellt.

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

Hinweis

Weitere Informationen zu den Regionen, in denen Sie ein Replikat erstellen können, finden Sie im Konzeptartikel zu Lesereplikaten.

Standardmäßig werden Lesereplikate mit derselben Serverkonfiguration wie der Quellserver erstellt, es sei denn, der Parameter Sku wird angegeben.

Hinweis

Für die Konfiguration des Replikatservers sollten mindestens die gleichen Werte verwendet werden wie für den Quellserver, damit das Replikat über genügend Kapazität verfügt.

Auflisten von Replikaten für einen Quellserver

Führen Sie den folgenden Befehl aus, um alle Replikate für einen bestimmten Quellserver anzuzeigen:

Get-AzMySqlReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

Für den Befehl Get-AzMySqlReplica sind folgende Parameter erforderlich:

Einstellung Beispielswert Beschreibung
ResourceGroupName  myresourcegroup  Die Ressourcengruppe, in der der Replikatserver erstellt wird. 
ServerName mydemoserver Der Name oder die ID des Quellservers.

Löschen eines Replikatservers

Zum Löschen eines Lesereplikatservers können Sie das Cmdlet Remove-AzMySqlServer ausführen.

Remove-AzMySqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Löschen eines Quellservers

Wichtig

Wenn Sie einen Quellserver löschen, wird die Replikation auf allen Replikatservern beendet und der Quellserver selbst gelöscht. Replikatserver werden zu eigenständigen Servern, die nun Lese- und Schreibvorgänge unterstützen.

Zum Löschen eines Quellservers können Sie das Cmdlet Remove-AzMySqlServer ausführen.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Bekanntes Problem

Es gibt zwei Generationen von Speicher, die von Servern der Ebenen „Universell“ und „Arbeitsspeicheroptimiert“ verwendet werden: universelle Speicher v1 (unterstützen bis zu 4 TB) und universelle Speicher v2 (unterstützen bis zu 16 TB Speicher). Quellserver und Replikatserver sollten denselben Speichertyp verwenden. Der Speichertyp Universell V2 ist nicht in allen Regionen verfügbar. Deshalb müssen Sie sicherstellen, dass Sie die richtige Replikatregion auswählen, wenn Sie den Standort für die Erstellung von Lesereplikaten mit PowerShell festlegen. Informationen zur Ermittlung des Speichertyps Ihres Quellservers finden Sie unter Wie kann ich bestimmen, mit welchem Speichertyp mein Server ausgeführt wird?.

Wenn Sie eine Region auswählen, in der Sie kein Lesereplikat für Ihren Quellserver erstellen können, tritt das in der folgenden Abbildung gezeigte Problem auf. Die Bereitstellung wird weiter ausgeführt wird, bis es zu einem Timeout mit dem Fehler „Der Ressourcenbereitstellungsvorgang wurde nicht innerhalb des zulässigen Zeitlimits abgeschlossen“ kommt.

Get-AzMySqlServer -Name <source-servername> -ResourceGroupName <RG-Name> | New-AzMySqlReplica -Name <replica-servername> -ResourceGroupName <RG-Name> -Location <region-name>

Nächste Schritte