Einführung in Azure Database for MySQL
Azure Database for MySQL kann als flexibler Server (Vorschau) zum Hosten der MySQL-Datenbank Ihrer Organisation in Azure bereitgestellt werden. Bei diesem Dienst handelt es sich um ein vollständig verwaltetes Database-as-a-Service-Angebot für unternehmenskritische Workloads mit vorhersagbarer Leistung und dynamischer Skalierbarkeit.
Als Datenbankentwickler mit langjähriger Erfahrung mit dem Ausführen und Verwalten lokaler MySQL-Installationen möchten Sie herausfinden, wie der Dienst Azure Database for MySQL seine Features unterstützt und skaliert.
In dieser Lerneinheit erhalten Sie Informationen zu Preisen, Versionsunterstützung, Replikation und zu den Skalierungsoptionen von Azure Database for MySQL.
Verstehen der Vorteile von Azure Database for MySQL
Azure Database for MySQL wird als Azure Database for MySQL-Server bereitgestellt. Dieser Server stellt die Entsprechung zu einem lokalen MySQL-Server dar und bietet einen zentralen Punkt für die Verwaltung mehrerer MySQL-Datenbanken.
Damit Sie eine Azure Database for MySQL-Datenbank erstellen können, müssen Sie erst einen Azure Database for MySQL-Server bereitstellen. Dieser Server ist das übergeordnete Element einer oder mehrerer Datenbanken und stellt den Namespace für diese Datenbanken bereit. Wenn Sie den Server löschen, löschen Sie auch alle zugehörigen Datenbanken.
Welche Möglichkeiten bietet ein Azure Database for MySQL-Server?
Der Azure Database for MySQL-Dienst bietet bei Bedarf Hochverfügbarkeit ohne zusätzliche Kosten und Skalierbarkeit. Sie bezahlen nur für das, was Sie tatsächlich nutzen. Automatische Sicherungen werden mithilfe der Point-in-Time-Wiederherstellung bereitgestellt.
Der Server bietet Verbindungssicherheit zum Erzwingen von Firewallregeln und erfordert optional SSL-Verbindungen. Dank zahlreicher Serverparameter können Sie Servereinstellungen wie Sperrmodi, die maximale Anzahl von Verbindungen und Timeouts konfigurieren. Änderungen an Parametern, die als Dynamisch gekennzeichnet sind, werden sofort angewendet. Für statische Parameter ist ein Serverneustart erforderlich. Dieser erfolgt über die Schaltfläche Neu starten auf der Seite Übersicht im Portal.
Azure Database for MySQL-Server bieten Überwachungsfunktionen zum Hinzufügen von Warnungen und zum Anzeigen von Metriken und Protokollen.
Tarife
Die Tarife ermöglichen eine große Bandbreite an Leistung und Kapazität mit 1 bis 64 virtuellen Kernen sowie 5 GB bis 4 TB Speicher. Der Tarif „Basic“ ist für Workloads mit geringen Computeanforderungen konzipiert und unterstützt bis zu zwei virtuelle Kerne mit je 2 GB Arbeitsspeicher. Der Tarif „Universell“ ist für die meisten Geschäftsworkloads geeignet und unterstützt 2 bis 64 virtuelle Kerne mit je 5 GB Arbeitsspeicher. Der Tarif „Arbeitsspeicheroptimiert“ unterstützt 2 bis 32 virtuelle Kerne, verfügt über 10 GB Arbeitsspeicher pro virtuellem Kern und ist für Hochleistungsworkloads gedacht, z. B. die Echtzeitanalyse von Daten. Sie können zwar zwischen den Tarifen „Universell“ und „Arbeitsspeicheroptimiert“ wechseln und die Anzahl der virtuellen Kerne und die Speichergröße innerhalb von Sekunden ändern, ein Wechsel zum oder vom Tarif „Basic“ ist jedoch nicht möglich.
Die Verbindungen sind basierend auf den Tarifen und der Anzahl der virtuellen Kerne beschränkt. Weitere Informationen finden Sie unter Beschränkungen in Azure Database for MySQL.
Versionsverwaltung und Upgrades
Azure Database for MySQL unterstützt die Versionen 5.6 (mit Programmfehlerbehebungs-Release 5.6.42), 5.7 (mit Programmfehlerbehebungs-Release 5.7.24) und 8.0 (mit Programmfehlerbehebungs-Release 8.0.15).
Hinweis
Ein Gateway leitet Verbindungen an Serverinstanzen um. MySQL-Clients zeigen die Version des Gateways an, nicht die Version der Serverinstanz. Verwenden Sie den Befehl „SELECT VERSION();“, um die Version der Serverinstanz anzuzeigen.
Programmfehlerbehebungs-Versionen werden automatisch angewendet, Versionsupgrades werden jedoch nicht unterstützt. Wenn Sie von einer Version auf eine andere upgraden möchten, sollten Sie eine Sicherung und Wiederherstellung durchführen.
Skalierbarkeit
Wie bereits erwähnt, können Sie nicht aus dem oder in den Tarif „Basic“ wechseln. Sie können jedoch die Anzahl der virtuellen Kerne, die Hardwaregeneration, die Speichergröße und den Aufbewahrungszeitraum für die Sicherung ändern. Sie können auch zwischen den Tarifen „Universell“ und „Arbeitsspeicheroptimiert“ wechseln.
Beachten Sie, dass der Speicher nur vergrößert wird (nicht verkleinert) und auf automatische Vergrößerung festgelegt werden kann. Wenn die automatische Vergrößerung aktiviert ist, wächst der Speicher bei Servern mit weniger als 100 GB Speicher um 5 GB, wenn der verfügbare Speicherplatz weniger als 1 GB oder 10 Prozent der Speichergröße beträgt (je nachdem, welcher Wert größer ist). Bei Servern mit mehr als 100 GB wird der Speicher um 5 Prozent vergrößert, wenn der verfügbare Speicherplatz weniger als 5 Prozent beträgt.
Hochverfügbarkeit
Azure Database for MySQL bietet eine Vereinbarung zum Servicelevel (Service Level Agreement, SLA) mit finanzieller Absicherung, die eine Verfügbarkeit von 99,99 Prozent garantiert. Bei einem Hardwarefehler oder einer Dienstbereitstellung wird automatisch ein neuer Knoten erstellt, und der Speicher wird an diesen Knoten angefügt. Die Dauer des Failovers liegt im zweistelligen Sekundenbereich.
Dieser Prozess ähnelt dem Hoch- oder Herunterskalieren einer Azure Database for MySQL-Serverinstanz, bei dem der Datenspeicher an die neue Instanz angefügt wird. Bei einem Failover, einem Hoch- oder Herunterskalierungsvorgang oder einer Unterbrechung des Internetdatenverkehrs zwischen dem Client und Azure kann beim Client ein vorübergehender Verbindungsfehler auftreten. Es ist wichtig, dass Anwendungen über Wiederholungslogik verfügen. Im Fall eines Failovers leitet ein Gateway den Datenverkehr an den neuen Knoten weiter, ohne dass beim Client etwas konfiguriert werden muss.
Informationen zur Behandlung vorübergehender Fehler finden Sie unter Behandeln vorübergehender Fehler und effizientes Verbinden mit Azure Database for MySQL.
Replizieren von Daten in Azure Database for MySQL
Datenreplikation
Die Datenreplikation verwendet die native Replikationsfunktionalität von MySQL, um Daten von einem externen MySQL-Server in Azure Database for MySQL zu replizieren. Dies ist nützlich, wenn Sie eine Hybridumgebung mit einer bereits vorhandenen lokalen MySQL-Instanz und einem Azure-basierten Replikat bereitstellen möchten. In diesem Szenario werden lokale Daten für Benutzer in einem global verteilten System bereitgestellt. Sie können die Datenreplikation auch verwenden, um Daten von einem virtuellen Computer oder MySQL-Datenbankdienst zu replizieren, der von einem anderen Cloudanbieter gehostet wird.
Überlegungen zur Datenreplikation
Im Folgenden sind einige Faktoren aufgeführt, die in Zusammenhang mit der Datenreplikation berücksichtigt werden müssen:
- Master- und Replikatserver müssen über die gleiche Version verfügen, und zwar mindestens Version 5.6.
- Master und Replikat sollten die InnoDB-Engine verwenden.
- Jede Tabelle muss über einen Primärschlüssel verfügen.
- Der Tarif für den Azure Database for MySQL-Server muss Universell oder Arbeitsspeicheroptimiert sein.
- Sie sollten über die Rechte zum Erstellen von Benutzern und Konfigurieren von binärer Protokollierung für den Masterserver verfügen.
- Die Systemdatenbank „mysql“ wird nicht repliziert. Konten und Berechtigungen werden nicht vom Masterserver auf das Replikat repliziert und sollten manuell erstellt werden.
Schritte zum Konfigurieren der Datenreplikation
Die Konfiguration der Datenreplikation umfasst einige Schritte:
- Erstellen Sie einen Azure Database for MySQL-Server, der als Host für das Replikat verwendet werden soll, sowie alle erforderlichen Benutzerkonten und Berechtigungen.
- Konfigurieren Sie die Replikation auf dem Masterserver.
- Sichern Sie den Masterserver, und stellen Sie ihn wieder her.
- Konfigurieren Sie den Zielserver mit gespeicherten Prozeduren für die Datenreplikation.
Weitere Informationen finden Sie unter Konfigurieren der Datenreplikation in Azure Database for MySQL.
Lesereplikate
Lesereplikate verwenden die native MySQL-Replikationstechnologie für die Erstellung asynchroner Replikatinstanzen von Azure Database for MySQL-Servern. Die Replikatserver sind schreibgeschützt, und jeder Masterserver kann über bis zu fünf Replikate verfügen. Für jedes Lesereplikat werden die monatlichen Kosten basierend auf den verwendeten virtuellen Kernen und dem genutzten Speicher abgerechnet.
Verwendungsszenarios für Lesereplikate
Berichtsserver
Durch die Erstellung eines schreibgeschützten Replikats des Masterservers leiten Sie alle Workloads für Berichterstellung, BI und Analyse an das Replikat weiter. Dadurch wird die Workload vom Masterserver entfernt und die Anzahl der Konflikte verringert, die auftreten, während der Masterserver seine schreibintensiven Workloads ausführt.
Daten in die Nähe der Benutzer bringen
Sie erstellen Replikate in anderen Regionen, um Daten in die Nähe der Benutzer zu bringen und die Lesegeschwindigkeit zu verbessern. Replikate in anderen Regionen können sich in einer universellen Replikatregion oder in der anderen Region des Regionspaars des Masterservers befinden. Die verfügbaren Regionen werden bei der Erstellung eines Replikatservers aufgelistet.
Konfigurieren von Lesereplikaten
Konfigurieren Sie ein Lesereplikat im Azure-Portal:
Geben Sie anschließend den Namen und die Region des Replikats an:
Hinweis
Im Tarif „Basic“ sind Lesereplikate nicht verfügbar.
Weitere Informationen zu Lesereplikaten finden Sie unter Lesereplikate in Azure Database for MySQL.
Verwaltung und Überwachung
Azure Database for MySQL verfügt über eine Vielzahl verschiedener Überwachungstools, die Sie bei der Optimierung Ihres Servers, der Benachrichtigung über Ereignisse und der proaktiven Reaktion auf Metriken unterstützen. Sie können für die Verwaltung und Überwachung von Azure Database for MySQL-Servern auch MySQL-Verwaltungstools verwenden, mit denen Sie bereits vertraut sind, z. B. aktuelle Versionen von MySQL Workbench, phpMyAdmin und Navicat:
Azure-Tools für die Überwachung von Azure Database for MySQL
Im Azure-Portal stehen unter anderem die folgenden Tools für die Verwaltung und Überwachung von Azure Database for MySQL zur Verfügung:
Azure-Metriken: Metriken liefern numerische Daten im Minutentakt und werden 30 Tage lang gespeichert. Ihnen steht eine große Bandbreite von Metriken für die Überwachung Ihres Servers zur Verfügung. Sie können auch Warnungen für die Reaktion auf Metriken konfigurieren.
Weitere Informationen finden Sie unter Azure Monitor-Datenplattform.
Server- und Überwachungsprotokolle: Aktivieren Sie Serverprotokolle zum Überwachen langsamer Abfragen sowie zur Bereitstellung von Überwachungsprotokollierung für Ihren Server. Serverprotokolle sind außerhalb von Azure Database for MySQL über Azure-Diagnoseprotokolle verfügbar.
Weitere Informationen finden Sie unter Protokolle für langsame Abfragen in Azure Database for MySQL. Überwachungsprotokolle sind eine Previewfunktion zur Bereitstellung von Überwachungsprotokollierung zur Nachverfolgung der Datenbankaktivität. Legen Sie den Parameter audit_log_enabled auf EIN fest, um die Überwachungsprotokollierung zu aktivieren. Weitere Informationen zu Überwachungsprotokollen finden Sie unter Überwachungsprotokolle in Azure Database for MySQL.
Abfragespeicher: Dieses Feature wird zur Nachverfolgung der Leistung Ihres Servers im Zeitverlauf verwendet und stellt Informationen für die Problembehandlung bereit. Der Abfragespeicher bewahrt den Abfrageverlauf und Laufzeitstatistiken auf, damit Sie ressourcen- oder zeitintensive Abfragen identifizieren können. Um den Abfragespeicher zu aktivieren, legen Sie den Serverparameter query_store_capture_mode auf ALLE fest:
Führen Sie die folgende Abfrage aus, um Daten aus dem Abfragespeicher zu Abfragen anzuzeigen:
SELECT * FROM mysql.query_store;
Führen Sie die folgende Abfrage aus, um Daten zur Wartestatistik anzuzeigen:
SELECT * FROM mysql.query_store_wait_stats;
Hinweis
Der Abfragespeicher ist eine Previewfunktion und im Tarif „Basic“ nicht verfügbar.
Weitere Informationen zum Abfragespeicher finden Sie unter Überwachen der Azure Database for MySQL-Leistung mit dem Abfragespeicher.
Query Performance Insight: Query Performance Insight zeigt Daten aus dem Abfragespeicher als Visualisierungen an, damit Sie Abfragen identifizieren können, die sich auf die Leistung auswirken. Query Performance Insight ist im Azure-Portal im Abschnitt Intelligente Leistung für Ihre Azure Database for MySQL-Instanz verfügbar.
Hinweis
Query Performance Insight ist eine Previewfunktion und im Tarif „Basic“ nicht verfügbar.
Weitere Informationen zu Query Performance Insight finden Sie unter Query Performance Insight in Azure Database for MySQL.
Leistungsempfehlungen: Leistungsempfehlungen analysieren Workloads mit Daten aus dem Abfragespeicher und kombinieren diese mit Datenbankmerkmalen, um neue Indizes zur Verbesserung der Leistung vorzuschlagen. Die Leistungsempfehlungen sind im Azure-Portal im Abschnitt Intelligente Leistung für Ihre Azure Database for MySQL-Instanz verfügbar.
Hinweis
Die Leistungsempfehlungen sind eine Previewfunktion und im Tarif „Basic“ nicht verfügbar.
Weitere Informationen zu Leistungsempfehlungen finden Sie unter Leistungsempfehlungen in Azure Database for MySQL.
Clientkonnektivität
MySQL-Treiber
Azure Database for MySQL verwendet die Community Edition von MySQL, ist mit einer Vielzahl von Treibern kompatibel und unterstützt viele verschiedene Programmiersprachen. Die Verbindungszeichenfolgen finden Sie im Azure-Portal:
Weitere Informationen zu MySQL-Treibern finden Sie unter MySQL-Treiber und -Verwaltungstools, die mit Azure Database for MySQL kompatibel sind.
Konfigurieren der Firewall
Die einfachste Möglichkeit, die Firewall zu konfigurieren, ist die Verwendung der Verbindungssicherheitseinstellungen für Ihren Dienst im Azure-Portal. Fügen Sie pro Client-IP-Adressbereich eine Regel hinzu. Über diese Seite können Sie auch SSL-Verbindungen für Ihren Dienst erzwingen.
Klicken Sie in der Symbolleiste auf Client-IP hinzufügen, um die IP-Adresse Ihres Desktopcomputers hinzuzufügen.
Wenn Sie schreibgeschützte Replikate konfiguriert haben, müssen Sie jedem Replikat eine Firewallregel hinzufügen, damit Clients darauf zugreifen können.
Vorübergehende Verbindungsfehler
Wenn Sie über das Internet eine Verbindung mit einer Datenbank herstellen, sind vorübergehende Verbindungsfehler unvermeidlich und sollten von Clientanwendungen behandelt werden.
Informationen zu vorübergehenden Verbindungsfehlern finden Sie unter Behandeln vorübergehender Fehler und effizientes Verbinden mit Azure Database for MySQL.
In Azure Database for MySQL nicht unterstützte MySQL-Features
Obwohl die meisten MySQL-Features in Azure Database for MySQL verfügbar sind, werden einige nicht unterstützt. Sie sollten sich diese Features ansehen, um sicherzustellen, dass Sie potenzielle Probleme bei der Migration mindern.
Speicher-Engines
Azure Database for MySQL unterstützt die Speicher-Engines InnoDB und MEMORY. InnoDB ist die standardmäßig für MySQL verwendete Speicher-Engine und bietet ein ausgewogenes Verhältnis zwischen hoher Leistung und hoher Zuverlässigkeit. Wenn nichts anderes angegeben ist, verwenden neue Tabellen in MySQL die Speicher-Engine InnoDB.
Weitere Informationen zu InnoDB finden Sie unter Introduction to InnoDB (Einführung in InnoDB).
Für die Speicherung von Daten im Arbeitsspeicher steht die Speicher-Engine MEMORY zur Verfügung. Diese Daten sind durch jede Art von Absturz oder Ausfall gefährdet. Daher sollte die Speicher-Engine MEMORY nur als temporärer Hochleistungsspeicher verwendet werden.
Weitere Informationen zur Speicher-Engine MEMORY finden Sie unter The MEMORY Storage Engine (Die Speicher-Engine MEMORY).
Die Speicher-Engines MyISAM, BLACKHOLE, ARCHIVE und FEDERATED werden in Azure Database for MySQL nicht unterstützt. MyISAM-Daten sollten in Daten für die Speicher-Engine InnoDB konvertiert werden. Die Speicher-Engines BLACKHOLE, ARCHIVE und FEDERATED verfügen über eine spezielle Rolle und werden nicht als typische Datenspeicher verwendet.
Berechtigungen und Rollen
Die Rolle DBA ist nicht verfügbar, da viele Servereinstellungen und Parameter Transaktionsregeln brechen und die Leistung beeinträchtigen können. Aus ähnlichen Gründen ist die Berechtigung SUPER eingeschränkt, ebenso wie die DEFINER-Klausel, die die Berechtigung SUPER verwendet.
Restore
Zwei Wiederherstellungsfeatures funktionieren in Azure Database for MySQL anders:
- Bei der Zeitpunktwiederherstellung wird ein neuer Server mit einer identischen Konfiguration wie beim als Grundlage verwendeten Server erstellt.
- Es ist nicht möglich, einen gelöschten Server wiederherzustellen.