Lesereplikate in Azure Database for MySQLRead replicas in Azure Database for MySQL

Mithilfe des Lesereplikatfeatures können Sie Daten von einem Azure Database for MySQL-Server auf einen schreibgeschützten Server replizieren.The read replica feature allows you to replicate data from an Azure Database for MySQL server to a read-only server. Sie können vom Masterserver bis zu fünf Replikate replizieren.You can replicate from the master server to up to five replicas. Replikate werden asynchron mithilfe des auf der Position der nativen, binären Protokolldatei (binlog) basierenden Replikationsverfahrens der MySQL-Engine aktualisiert.Replicas are updated asynchronously using the MySQL engine's native binary log (binlog) file position-based replication technology. Weitere Informationen zur binlog-Replikation finden Sie unter Binary Log File Position Based Replication Configuration Overview (Konfiguration der auf der Position der binären Protokolldatei basierenden Replikation – Übersicht).To learn more about binlog replication, see the MySQL binlog replication overview.

Replikate sind neue Server, die Sie ähnlich wie normale Azure Database for MySQL-Server verwalten.Replicas are new servers that you manage similar to regular Azure Database for MySQL servers. Für jedes Lesereplikat werden Ihnen die bereitgestellten Computeressourcen in Form von virtuellen Kernen sowie der Speicher in GB/Monat in Rechnung gestellt.For each read replica, you're billed for the provisioned compute in vCores and storage in GB/ month.

Weitere Informationen zu Features und Problemen der MySQL-Replikation finden Sie in der Dokumentation zur MySQL-Replikation.To learn more about MySQL replication features and issues, see the MySQL replication documentation.

Hinweis

Unvoreingenommene KommunikationBias-free communication

Microsoft setzt sich für Diversität und Inklusion ein.Microsoft supports a diverse and inclusionary environment. In diesem Artikel wird das Wort Slave (Sklave) verwendet.This article contains references to the word slave. Laut Microsoft-Styleguide für unvoreingenommene Kommunikation sollte dieses Wort jedoch vermieden werden.The Microsoft style guide for bias-free communication recognizes this as an exclusionary word. In diesem Artikel wird es aus Konsistenzgründen verwendet, da das Wort derzeit noch in der Software vorkommt.The word is used in this article for consistency because it's currently the word that appears in the software. Wenn die Software aktualisiert wird und das Wort nicht mehr vorkommt, wird auch der Artikel entsprechend aktualisiert.When the software is updated to remove the word, this article will be updated to be in alignment.

Einsatzmöglichkeiten von LesereplikatenWhen to use a read replica

Das Feature für Lesereplikate kann die Leistung und Skalierung von leseintensiven Workloads verbessern.The read replica feature helps to improve the performance and scale of read-intensive workloads. Leseworkloads können in den Replikaten isoliert werden, während Schreibworkloads an den Masterserver weitergeleitet werden können.Read workloads can be isolated to the replicas, while write workloads can be directed to the master.

In einem häufig anzutreffenden Szenario verwenden BI- und Analyseworkloads das Lesereplikat als Datenquelle für die Berichterstellung.A common scenario is to have BI and analytical workloads use the read replica as the data source for reporting.

Da Replikate schreibgeschützt sind, führen sie nicht direkt zu einer verringerten Auslastung der Schreibkapazität auf dem Master.Because replicas are read-only, they don't directly reduce write-capacity burdens on the master. Dieses Feature ist nicht auf schreibintensive Workloads ausgerichtet.This feature isn't targeted at write-intensive workloads.

Das Lesereplikatfeature verwendet die asynchrone MySQL-Replikation.The read replica feature uses MySQL asynchronous replication. Das Feature ist nicht für synchrone Replikationsszenarien vorgesehen.The feature isn't meant for synchronous replication scenarios. Zwischen dem Masterserver und dem Replikat entsteht eine messbare Verzögerung.There will be a measurable delay between the master and the replica. Letztendlich sind die Daten auf dem Replikat mit den Daten auf dem Masterserver konsistent.The data on the replica eventually becomes consistent with the data on the master. Verwenden Sie das Feature für Workloads, für die diese Verzögerung akzeptabel ist.Use this feature for workloads that can accommodate this delay.

Regionsübergreifende ReplikationCross-region replication

Sie können über Ihren Masterserver ein Lesereplikat in einer anderen Region erstellen.You can create a read replica in a different region from your master server. Die regionsübergreifende Replikation kann beispielsweise hilfreich sein, um die Notfallwiederherstellung zu planen oder Daten näher beim Benutzer bereitzustellen.Cross-region replication can be helpful for scenarios like disaster recovery planning or bringing data closer to your users.

Sie können einen Masterserver in jeder Azure Database for MySQL-Region haben.You can have a master server in any Azure Database for MySQL region. Ein Masterserver kann ein Replikat in der gekoppelten Region oder den universellen Replikatregionen besitzen.A master server can have a replica in its paired region or the universal replica regions. Die folgende Abbildung zeigt, welche Replikatregionen entsprechend Ihrer Masterregion verfügbar sind.The picture below shows which replica regions are available depending on your master region.

Lesereplikatregionen Read replica regions

Universelle ReplikatregionenUniversal replica regions

Sie können ein Lesereplikat in einer der folgenden Regionen erstellen, unabhängig davon, wo sich der Masterserver befindet.You can create a read replica in any of the following regions, regardless of where your master server is located. Folgende universelle Replikatregionen werden unterstützt:The supported universal replica regions include:

„Australien, Osten“, „Australien, Südosten“, „USA, Mitte“, „Asien, Osten“, „USA, Osten“, „USA, Osten 2“, „Japan, Osten“, „Japan, Westen“, „Südkorea, Mitte“, „Südkorea, Süden“, „USA, Norden-Mitte“, „Europa, Norden“, „USA, Süden-Mitte“, „Asien, Südosten“, „Vereinigtes Königreich, Süden“, „Vereinigtes Königreich, Westen“, „Europa, Westen“, „USA, Westen“, „USA, Westen 2“, „USA, Westen-Mitte“Australia East, Australia Southeast, Central US, East Asia, East US, East US 2, Japan East, Japan West, Korea Central, Korea South, North Central US, North Europe, South Central US, Southeast Asia, UK South, UK West, West Europe, West US, West US 2, West Central US.

RegionspaarePaired regions

Zusätzlich zu den universellen Replikatregionen können Sie ein Lesereplikat in der gekoppelten Azure-Region Ihres Masterservers erstellen.In addition to the universal replica regions, you can create a read replica in the Azure paired region of your master server. Sollte Ihnen Ihr Regionspaar nicht bekannt sein, lesen Sie den Artikel Gekoppelte Azure-Regionen.If you don't know your region's pair, you can learn more from the Azure Paired Regions article.

Wenn Sie für die Notfallwiederherstellungsplanung regionsübergreifende Replikate verwenden, empfehlen wir Ihnen, das Replikat in der gekoppelten Region und nicht in einer der anderen Regionen zu erstellen.If you are using cross-region replicas for disaster recovery planning, we recommend you create the replica in the paired region instead of one of the other regions. Regionspaare vermeiden gleichzeitige Aktualisierungen und priorisieren die physische Isolation und die Datenresidenz.Paired regions avoid simultaneous updates and prioritize physical isolation and data residency.

Es gibt jedoch einige Einschränkungen:However, there are limitations to consider:

  • Regionale Verfügbarkeit: Azure Database for MySQL ist in den Regionen „Frankreich, Mitte“, „VAE, Norden“ und „Deutschland, Mitte“ verfügbar.Regional availability: Azure Database for MySQL is available in France Central, UAE North, and Germany Central. Die entsprechenden gekoppelten Regionen sind allerdings nicht verfügbar.However, their paired regions are not available.

  • Unidirektionale Paare: Einige Azure-Regionen werden nur in eine Richtung gekoppelt.Uni-directional pairs: Some Azure regions are paired in one direction only. Zu diesen Regionen zählen „Indien, Westen“, „Brasilien, Süden“ und „US Gov Virginia“.These regions include West India, Brazil South, and US Gov Virginia. Das bedeutet, dass ein Masterserver in der Region „Indien, Westen“ ein Replikat in „Indien, Süden“ erstellen kann.This means that a master server in West India can create a replica in South India. Ein Masterserver in der Region „Indien, Süden“ kann jedoch kein Replikat in „Indien, Westen“ erstellen.However, a master server in South India cannot create a replica in West India. Der Grund: Die sekundäre Region von „Indien, Westen“ ist zwar „Indien, Süden“, die sekundäre Region von „Indien, Süden“ ist jedoch nicht „Indien, Westen“.This is because West India's secondary region is South India, but South India's secondary region is not West India.

Erstellen eines ReplikatsCreate a replica

Wichtig

Das Feature für Lesereplikate ist nur für Azure Database for MySQL-Server in den Tarifen „Universell“ oder „Arbeitsspeicheroptimiert“ verfügbar.The read replica feature is only available for Azure Database for MySQL servers in the General Purpose or Memory Optimized pricing tiers. Stellen Sie sicher, dass für den Masterserver einer dieser Tarife festgelegt ist.Ensure the master server is in one of these pricing tiers.

Wenn ein Masterserver keine vorhandenen Replikatserver aufweist, wird der Master zunächst neu gestartet, um sich auf die Replikation vorzubereiten.If a master server has no existing replica servers, the master will first restart to prepare itself for replication.

Wenn Sie den Workflow zum Erstellen von Replikaten starten, wird ein leerer Azure Database for MySQL-Server erstellt.When you start the create replica workflow, a blank Azure Database for MySQL server is created. Der neue Server wird mit den Daten gefüllt, die auf dem Masterserver vorhanden waren.The new server is filled with the data that was on the master server. Die Erstellungszeit hängt von der Datenmenge auf dem Masterserver und der verstrichenen Zeit seit der letzten wöchentlichen vollständigen Sicherung ab.The creation time depends on the amount of data on the master and the time since the last weekly full backup. Dieser Zeitraum kann wenige Minuten bis zu mehrere Stunden umfassen.The time can range from a few minutes to several hours. Der Replikatserver wird immer in derselben Ressourcengruppe und demselben Abonnement wie der Masterserver erstellt.The replica server is always created in the same resource group and same subscription as the master server. Wenn Sie einen Replikatserver in einer anderen Ressourcengruppe oder einem anderen Abonnement erstellen möchten, können Sie nach der Erstellung den Replikatserver verschieben.If you want to create a replica server to a different resource group or different subscription, you can move the replica server after creation.

Jedes Replikat ist für die automatische Vergrößerung von Speicher aktiviert.Every replica is enabled for storage auto-grow. Das Feature der automatischen Vergrößerung sorgt dafür, dass im Replikat genügend Speicherplatz für die replizierten Daten vorhanden ist, und verhindert damit Unterbrechungen bei der Replikation durch Fehler aufgrund von unzureichendem Speicher.The auto-grow feature allows the replica to keep up with the data replicated to it, and prevent an interruption in replication caused by out-of-storage errors.

Erfahren Sie, wie Sie ein Lesereplikat im Azure-Portal erstellen.Learn how to create a read replica in the Azure portal.

Herstellen einer Verbindung mit einem ReplikatConnect to a replica

Ein Replikat erbt bei der Erstellung die Firewallregeln des Masterservers.At creation, a replica inherits the firewall rules of the master server. Danach sind diese Regeln vom Masterserver unabhängig.Afterwards, these rules are independent from the the master server.

Das Replikat erbt das Administratorkonto vom Masterserver.The replica inherits the admin account from the master server. Alle Benutzerkonten auf dem Masterserver werden auf die Lesereplikate repliziert.All user accounts on the master server are replicated to the read replicas. Sie können nur mit denjenigen Benutzerkonten eine Verbindung mit einem Lesereplikat herstellen, die auf dem Masterserver verfügbar sind.You can only connect to a read replica by using the user accounts that are available on the master server.

Sie können eine Verbindung zum Replikat herstellen, indem Sie wie bei einem normalen Azure Database for MySQL-Server seinen Hostnamen und ein gültiges Benutzerkonto verwenden.You can connect to the replica by using its hostname and a valid user account, as you would on a regular Azure Database for MySQL server. Für einen Server namens myreplica mit dem Administratorbenutzernamen myadmin können Sie eine Verbindung mit dem Replikat herstellen, indem Sie die mysql-Befehlszeilenschnittstelle verwenden:For a server named myreplica with the admin username myadmin, you can connect to the replica by using the mysql CLI:

mysql -h myreplica.mysql.database.azure.com -u myadmin@myreplica -p

Geben Sie an der Eingabeaufforderung das Kennwort für das Benutzerkonto ein.At the prompt, enter the password for the user account.

Überwachen der ReplikationMonitor replication

Azure Database for MySQL bietet die Metrik Replication lag in seconds (Replikationsverzögerung in Sekunden) in Azure Monitor.Azure Database for MySQL provides the Replication lag in seconds metric in Azure Monitor. Diese Metrik steht nur für Replikate zur Verfügung.This metric is available for replicas only.

Diese Metrik wird mithilfe der seconds_behind_master-Metrik berechnet, die im MySQL-Befehl SHOW SLAVE STATUS verfügbar ist.This metric is calculated using the seconds_behind_master metric available in MySQL's SHOW SLAVE STATUS command.

Legen Sie eine Warnung fest, um Sie zu benachrichtigen, wenn die Replikationsverzögerung einen Wert erreicht, der für Ihre Workload nicht annehmbar ist.Set an alert to inform you when the replication lag reaches a value that isn’t acceptable for your workload.

Beenden der ReplikationStop replication

Sie können die Replikation zwischen einem Masterserver und einem Replikat beenden.You can stop replication between a master and a replica. Sobald die Replikation zwischen einem Masterserver und einem Lesereplikat beendet wurde, wird das Replikat zu einem eigenständigen Server.After replication is stopped between a master server and a read replica, the replica becomes a standalone server. Bei den Daten auf diesem eigenständigen Server handelt es sich um die Daten, die zu dem Zeitpunkt, als der Befehl zum Beenden der Replikation gestartet wurde, auf dem Replikatserver vorhanden waren.The data in the standalone server is the data that was available on the replica at the time the stop replication command was started. Der eigenständige Server wird nicht zusammen mit dem Masterserver aktualisiert.The standalone server doesn't catch up with the master server.

Wenn Sie die Replikation zu einem Replikat stoppen, gehen alle Links zu seinem vorherigen Master und zu anderen Replikaten verloren.When you choose to stop replication to a replica, it loses all links to its previous master and other replicas. Zwischen einem Master und seinem Replikat gibt es kein automatisiertes Failover.There is no automated failover between a master and its replica.

Wichtig

Der eigenständige Server kann nicht wieder in ein Replikat umgewandelt werden.The standalone server can't be made into a replica again. Stellen Sie vor dem Beenden der Replikation auf einem Lesereplikat sicher, dass das Replikat alle erforderlichen Daten enthält.Before you stop replication on a read replica, ensure the replica has all the data that you require.

Erfahren Sie, wie Sie die Replikation auf ein Replikat beenden.Learn how to stop replication to a replica.

FailoverFailover

Zwischen Master- und Replikatservern erfolgt kein automatisiertes Failover.There is no automated failover between master and replica servers.

Da die Replikation asynchron erfolgt, gibt es eine Verzögerung zwischen dem Master und dem Replikat.Since replication is asynchronous, there is lag between the master and the replica. Die Verzögerungsdauer kann durch eine Reihe von Faktoren beeinflusst werden, z.B. durch den Umfang der Workload auf dem Masterserver und die Latenzzeit zwischen Rechenzentren.The amount of lag can be influenced by a number of factors like how heavy the workload running on the master server is and the latency between data centers. In den meisten Fällen beträgt die Replikatverzögerung einige Sekunden bis zu einigen Minuten.In most cases, replica lag ranges between a few seconds to a couple minutes. Sie können die tatsächliche Replikatverzögerung mithilfe der Metrik Replikatverzögerung nachverfolgen, die für jedes Replikat verfügbar ist.You can track your actual replication lag using the metric Replica Lag, which is available for each replica. Diese Metrik zeigt die seit der letzten wiedergegebenen Transaktion verstrichene Zeit an.This metric shows the time since the last replayed transaction. Es wird empfohlen, die durchschnittliche Verzögerung zu ermitteln, indem Sie die Replikatverzögerung über einen bestimmten Zeitraum hinweg beobachten.We recommend that you identify what your average lag is by observing your replica lag over a period of time. Sie können eine Warnung für die Replikatverzögerung festlegen, sodass Sie Maßnahmen ergreifen können, wenn sie sich außerhalb des erwarteten Bereichs befindet.You can set an alert on replica lag, so that if it goes outside your expected range, you can take action.

Tipp

Wenn Sie ein Failover auf das Replikat durchführen, zeigt die Verzögerung zum Zeitpunkt der Trennung des Replikats vom Master an, wie viel Daten verloren gehen.If you failover to the replica, the lag at the time you delink the replica from the master will indicate how much data is lost.

Gehen Sie folgendermaßen vor, nachdem Sie entschieden haben, ein Failover auf ein Replikat durchzuführen:Once you have decided you want to failover to a replica,

  1. Beenden der Replikation auf das ReplikatStop replication to the replica
    Dieser Schritt ist erforderlich, damit der Replikatserver Schreibvorgänge akzeptieren kann.This step is necessary to make the replica server able to accept writes. Im Rahmen dieses Vorgangs wird der Replikatserver vom Master getrennt.As part of this process, the replica server will be delinked from the master. Nachdem Sie die das Beenden der Replikation gestartet haben, dauert der Abschluss des Back-End-Prozesse in der Regel etwa 2 Minuten.Once you initiate stop replication, the backend process typically takes about 2 minutes to complete. Informationen zu den Auswirkungen dieser Aktion finden Sie im Abschnitt Beenden der Replikation in diesem Artikel.See the stop replication section of this article to understand the implications of this action.

  2. Verweisen der Anwendung auf das (ehemalige) ReplikatPoint your application to the (former) replica
    Jeder Server verfügt über eine eindeutige Verbindungszeichenfolge.Each server has a unique connection string. Aktualisieren Sie Ihre Anwendung so, dass Sie auf das (ehemalige) Replikat und nicht auf den Master verweist.Update your application to point to the (former) replica instead of the master.

Wenn die Anwendung erfolgreich Lese- und Schreibvorgänge verarbeitet, haben Sie das Failover abgeschlossen.Once your application is successfully processing reads and writes, you have completed the failover. Die Ausfallzeit Ihrer Anwendung hängt davon ab, ob Sie ein Problem erkennen und die oben beschriebenen Schritte 1 und 2 ausführen.The amount of downtime your application experiences will depend on when you detect an issue and complete steps 1 and 2 above.

Überlegungen und EinschränkungenConsiderations and limitations

TarifePricing tiers

Lesereplikate sind zurzeit nur in den Tarifen „Universell“ und „Arbeitsspeicheroptimiert“ verfügbar.Read replicas are currently only available in the General Purpose and Memory Optimized pricing tiers.

Hinweis

Die Kosten für den Betrieb des Replikatservers richten sich nach der Region, in der der Replikatserver betrieben wird.The cost of running the replica server is based on the region where the replica server is running.

MasterserverneustartMaster server restart

Wenn Sie ein Replikat für einen Master erstellen, der keine vorhandenen Replikate hat, startet der Master zunächst neu, um sich auf die Replikation vorzubereiten.When you create a replica for a master that has no existing replicas, the master will first restart to prepare itself for replication. Beachten Sie dies, und führen Sie diese Vorgänge nicht zu Spitzenzeiten durch.Take this into consideration and perform these operations during an off-peak period.

Neue ReplikateNew replicas

Ein Lesereplikat wird als neuer Azure Database for MySQL-Server erstellt.A read replica is created as a new Azure Database for MySQL server. Ein vorhandener Server kann nicht in ein Replikat umgewandelt werden.An existing server can't be made into a replica. Es kann kein Replikat eines anderen Lesereplikats erstellt werden.You can't create a replica of another read replica.

ReplikatkonfigurationReplica configuration

Ein Replikat wird mit der gleichen Serverkonfiguration wie der Masterserver erstellt.A replica is created by using the same server configuration as the master. Nachdem ein Replikat erstellt wurde, können mehrere Einstellungen unabhängig vom Masterserver geändert werden: die Computegeneration, die virtuellen Kerne, der Speicher und der Aufbewahrungszeitraum für Sicherungen.After a replica is created, several settings can be changed independently from the master server: compute generation, vCores, storage, and backup retention period. Auch der Tarif kann unabhängig geändert werden, allerdings nicht in den oder aus dem Tarif „Basic“.The pricing tier can also be changed independently, except to or from the Basic tier.

Wichtig

Bevor Sie die Konfiguration eines Masterservers mit neuen Werten aktualisieren, ändern Sie die Replikatkonfiguration in gleiche oder größere Werte.Before a master server configuration is updated to new values, update the replica configuration to equal or greater values. Durch diese Aktion wird sichergestellt, dass das Replikat mit allen Änderungen, die auf dem Masterserver durchgeführt werden, Schritt halten kann.This action ensures the replica can keep up with any changes made to the master.

Firewallregeln und Parametereinstellungen werden beim Erstellen eines Replikats vom Masterserver geerbt.Firewall rules and parameter settings are inherited from the master server to the replica when the replica is created. Danach sind die Regeln des Replikats unabhängig.Afterwards, the replica's rules are independent.

Beendete ReplikateStopped replicas

Wenn Sie die Replikation zwischen einem Masterserver und einem Lesereplikat beenden, wird das beendete Replikat zu einem eigenständigen Server, der sowohl Lese- als auch Schreibzugriffe akzeptiert.If you stop replication between a master server and a read replica, the stopped replica becomes a standalone server that accepts both reads and writes. Der eigenständige Server kann nicht wieder in ein Replikat umgewandelt werden.The standalone server can't be made into a replica again.

Gelöschte Masterserver und eigenständige ServerDeleted master and standalone servers

Wenn ein Masterserver gelöscht wird, wird die Replikation an alle Lesereplikate beendet.When a master server is deleted, replication is stopped to all read replicas. Diese Replikate werden automatisch zu eigenständigen Servern und können sowohl Lese- als auch Schreibvorgänge akzeptieren.These replicas automatically become standalone servers and can accept both reads and writes. Der Masterserver selbst wird gelöscht.The master server itself is deleted.

BenutzerkontenUser accounts

Benutzer auf dem Masterserver werden an die Lesereplikate repliziert.Users on the master server are replicated to the read replicas. Sie können nur mit denjenigen Benutzerkonten eine Verbindung mit einem Lesereplikat herstellen, die auf dem Masterserver verfügbar sind.You can only connect to a read replica using the user accounts available on the master server.

ServerparameterServer parameters

Um zu verhindern, dass Daten nicht synchronisiert werden und um einen möglichen Datenverlust oder eine Beschädigung zu vermeiden, sind einige Serverparameter bei der Verwendung von Lesereplikaten für die Aktualisierung gesperrt.To prevent data from becoming out of sync and to avoid potential data loss or corruption, some server parameters are locked from being updated when using read replicas.

Die folgenden Serverparameter sind sowohl auf dem Master- als auch auf dem Replikatserver gesperrt:The following server parameters are locked on both the master and replica servers:

Der Parameter event_scheduler ist auf den Replikatservern gesperrt.The event_scheduler parameter is locked on the replica servers.

Um einen der oben genannten Parameter auf dem Masterserver zu aktualisieren, löschen Sie Replikatserver, aktualisieren Sie den Parameterwert auf dem Master, und erstellen Sie Replikate neu.To update one of the above parameters on the master server, please delete replica servers, update the parameter value on the master, and recreate replicas.

AndereOther

  • IDs globaler Transaktionen (GTIDs) werden nicht unterstützt.Global transaction identifiers (GTID) are not supported.
  • Die Erstellung des Replikats eines Replikats wird nicht unterstützt.Creating a replica of a replica is not supported.
  • In-Memory-Tabellen können dazu führen, dass Replikate nicht mehr synchron sind. Dies ist eine Einschränkung der MySQL-Replikationstechnologie.In-memory tables may cause replicas to become out of sync. This is a limitation of the MySQL replication technology. Weitere Informationen finden Sie in der MySQL-Referenzdokumentation.Read more in the MySQL reference documentation for more information.
  • Stellen Sie sicher, dass die Masterservertabellen über Primärschlüssel verfügen.Ensure the master server tables have primary keys. Das Fehlen von Primärschlüsseln kann zu Replikationslatenz zwischen dem Master und den Replikaten führen.Lack of primary keys may result in replication latency between the master and replicas.
  • Eine vollständige Liste aller Einschränkungen der MySQL-Replikation finden Sie in der MySQL-Dokumentation.Review the full list of MySQL replication limitations in the MySQL documentation

Nächste SchritteNext steps