Informationen zum Erstellen und Verwalten von Lesereplikaten in Azure Database for MySQL mithilfe der Azure CLI und REST-API

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 mithilfe der Azure CLI und REST-API erstellen und verwalten. Weitere Informationen zu Lesereplikaten finden Sie in der Übersicht.

Azure CLI

Sie können Lesereplikate mithilfe der Azure CLI erstellen und verwalten.

Voraussetzungen

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.

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.

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).

Ein Lesereplikatserver kann mit dem folgenden Befehl erstellt werden:

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

Für den Befehl az mysql server replica create sind folgende Parameter erforderlich:

Einstellung Beispielswert Beschreibung
resource-group  myresourcegroup  Die Ressourcengruppe, in der der Replikatserver erstellt wird. 
name mydemoreplicaserver Der Name des neuen Replikatservers, der erstellt wird.
source-server mydemoserver Der Name oder die ID des vorhandenen Quellservers, der repliziert werden soll

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

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Hinweis

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

Hinweis

  • Der Befehl az mysql server replica create hat das Argument --sku-name, mit dem Sie die SKU ({pricing_tier}_{compute generation}_{vCores}) angeben können, während Sie mit der Azure-Befehlszeilenschnittstelle ein Replikat erstellen.
  • Der primäre Server und das Lesereplikat sollten sich im gleichen Tarif („Universell“ oder „Arbeitsspeicheroptimiert“) befinden.
  • Die Replikatserverkonfiguration kann nach der Erstellung noch geändert werden. 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:

az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup

Für den Befehl az mysql server replica list sind folgende Parameter erforderlich:

Einstellung Beispielswert Beschreibung
resource-group  myresourcegroup  Die Ressourcengruppe, in der der Replikatserver erstellt wird. 
Servername mydemoserver Der Name oder die ID des Quellservers.

Beenden der Replikation auf einem Replikatserver

Wichtig

Das Beenden der Replikation auf einem Server kann nicht rückgängig gemacht werden. Wenn die Replikation zwischen einer Quelle und dem Replikat beendet wurde, kann dies nicht rückgängig gemacht werden. Der Replikatserver wird zu einem eigenständigen Server und unterstützt nun Lese- und Schreibvorgänge. Der Server kann nicht wieder in ein Replikat umgewandelt werden.

Die Replikation auf einem Lesereplikatserver kann mit dem folgenden Befehl beendet werden:

az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

Für den Befehl az mysql server replica stop sind folgende Parameter erforderlich:

Einstellung Beispielswert Beschreibung
resource-group  myresourcegroup  Die Ressourcengruppe, in der der Replikatserver enthalten ist. 
name mydemoreplicaserver Der Name des Replikatservers, auf dem die Replikation beendet werden soll.

Löschen eines Replikatservers

Zum Löschen eines Lesereplikatservers kann der Befehl az mysql server delete ausgeführt werden.

az mysql server delete --resource-group myresourcegroup --name mydemoreplicaserver

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 den Befehl az mysql server delete ausführen.

az mysql server delete --resource-group myresourcegroup --name mydemoserver

REST-API

Sie können Lesereplikate mithilfe der Azure-REST-API erstellen und verwalten.

Erstellen eines Lesereplikats

Sie können ein Lesereplikat mithilfe der Create-API erstellen:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}"
  }
}

Hinweis

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

Ein Replikat wird mit den gleichen Compute- und Speichereinstellungen erstellt wie der Master. Nach dem Erstellen des Replikats können einige der Einstellungen unabhängig vom Quellserver geändert werden: die Computegeneration, die virtuellen Kerne, der Speicher und der Aufbewahrungszeitraum für Sicherungen. Auch der Tarif kann unabhängig geändert werden, allerdings nicht in den oder aus dem Tarif „Basic“.

Wichtig

Ändern Sie vor der Aktualisierung einer Quellservereinstellung auf einen neuen Wert die entsprechende Replikateinstellung in den gleichen oder einen höheren Wert. Diese Aktion sorgt dafür, dass das Replikat mit allen Änderungen auf dem Masterserver Schritt halten kann.

Auflisten von Replikaten

Sie können die Replikatliste eines Quellservers mithilfe der API zum Auflisten von Replikaten anzeigen:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Beenden der Replikation auf einem Replikatserver

Sie können die Replikation zwischen einem Quellserver und einem Lesereplikat mithilfe der Update-API beenden.

Das Beenden der Replikation zwischen einem Quellserver und einem Lesereplikat kann nicht rückgängig gemacht werden. Das Lesereplikat wird zu einem eigenständigen Server, der sowohl Lese- als auch Schreibvorgänge unterstützt. Der eigenständige Server kann nicht wieder in ein Replikat umgewandelt werden.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Löschen eines Quell- oder Replikatservers

Zum Löschen eines Quell- oder Replikatservers wird die Lösch-API verwendet:

Wenn Sie einen Quellserver löschen, wird die Replikation in alle Lesereplikate beendet. Die Lesereplikate werden zu eigenständigen Servern, die nun Lese- und Schreibvorgänge unterstützen.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01

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. Da universeller Speicher v2 nicht in allen Regionen verfügbar ist, müssen Sie sicherstellen, dass Sie die richtige Replikatregion auswählen, wenn Sie den Standort mit der Befehlszeilenschnittstelle oder der REST-API für die Erstellung von Lesereplikaten verwenden. Informationen zur Ermittlung des Speichertyps Ihres Quellservers finden Sie unter Wie ermittle ich den Speichertyp, auf dem 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.

az mysql server replica create -n <replica-servername> -g <resource group> --location <replica-region> -s <source-servername>
/ Running . .

Nächste Schritte