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:
- Lokale Installation des Moduls „Az PowerShell“ oder von Azure Cloud Shell im Browser
- Ein Azure Database for MySQL-Server
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. | |
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. | |
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
So verwenden Sie Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
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.
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>