Bereitstellen einer Azure-Datenbank für MySQL-Instanz
Azure Database for MySQL ist ein relationaler Datenbankdienst, der von der MySQL Community-Edition unterstützt wird. Es ist ein vollständig verwaltetes Datenbank-as-a-Service (DBaaS)-Angebot, das unternehmenskritische Workloads mit vorhersehbarer Leistung und dynamischer Skalierbarkeit verarbeiten kann.
Azure-Datenbank für MySQL-Bereitstellungsoptionen
Um eine MySQL-Datenbank in Azure zu hosten, können Sie die Option "Flexible Server-Bereitstellung" verwenden. Die Option "Flexibler Server" bietet die folgenden Funktionen:
- Bessere Kontrolle ihrer Datenbankserver und Kostenoptimierung.
- Die Möglichkeit zum Entwickeln von Anwendungen durch Anpassen des MySQL-Moduls.
- Zonenredundante Hochverfügbarkeit
- Gesteuerte Wartungsfenster zur Steuerung des Zeitplans für Patches und Upgrades.
- Konfigurationsparameter für eine Feinabstimmung
Befehle für die Bereitstellung einer Serverinstanz
In dieser Lektion werden die Schritte zum Bereitstellen einer Azure-Datenbank für MySQL – flexible Serverinstanz beschrieben. Sie führen tatsächlich ähnliche Schritte in der nächsten Einheit aus, einschließlich des Ausführens eines Skripts, das einige Schritte für Sie ausführt.
Zum Bereitstellen einer Azure-Datenbank für MySQL – flexible Serverinstanz erstellen Sie zuerst eine Ressourcengruppe. Anschließend erstellen Sie die Serverinstanz in der Ressourcengruppe. Um auf die Instanz zuzugreifen, konfigurieren Sie schließlich eine Firewallregel.
Die folgenden Schritte beschreiben die Befehle für diese Aufgaben:
Um sich bei der Azure CLI anzumelden, verwenden Sie den folgenden Befehl:
az login
Um eine Azure-Ressourcengruppe zu erstellen, verwenden Sie den folgenden Befehl:
az group create \ --name <resource-group-name> \ --location <location>
In der folgenden Liste werden die Werte beschrieben, die Sie für die
<...>
Platzhalter verwenden:<resource-group-name>
muss innerhalb Ihres Abonnements eindeutig sein.<location>
muss eines der Werte sein, die in derName
Spalte zurückgegeben werden, wenn Sie den Befehlaz account list-locations --output table
verwenden.
Verwenden Sie zum Erstellen einer Azure-Datenbank für MySQL – flexible Serverinstanz den folgenden Befehl:
az mysql flexible-server create \ --resource-group <resource-group-name> \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --sku-name Standard_B1ms \ --tier Burstable \ --public-access <public-IP> \ --storage-size 32 \ --storage-auto-grow Enabled \ --iops 500 \ --version 8.0.21
In der folgenden Liste werden die Werte beschrieben, die Sie für die
<...>
Platzhalter verwenden, zusätzlich zu den zuvor beschriebenen Werten:<MySQL-server-name>
muss innerhalb der Ressourcengruppe eindeutig sein. Der Name kann nur Kleinbuchstaben, Zahlen und das Zeichen Bindestrich (-) enthalten. Der Name muss zwischen 3 und 63 Zeichen lang sein, zudem (und wenn es praktisch ist) können Sie einfach denselben Wert verwenden, den Sie für<resource-group-name>
verwenden.<MySQL-password>
ist das Kennwort des Administrators. Das Kennwort muss zwischen 8 und 128 Zeichen lang sein, einschließlich, und es muss Zeichen aus drei der folgenden Kategorien enthalten: Englische Großbuchstaben, englische Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen.<public-IP>
ist die öffentliche IP-Adresse des Hostnamens, von dem Aus Sie Verbindungen außerhalb von Azure zulassen möchten, die zum Testen der Datenbank von Ihrem lokalen Host verwendet wird.
Verwenden Sie zum Erstellen einer Firewallregel den folgenden Befehl mit denselben Platzhalterwerten aus den vorherigen Befehlen:
az mysql flexible-server firewall-rule create \ --resource-group <resource-group-name> \ --name <MySQL-server-name> \ --rule-name AllowAllAzureIPs \ --start-ip-address 0.0.0.0 \ --end-ip-address 255.255.255.255
Verbinden und Testen der Verbindung mithilfe der Azure CLI
Seit MySQL 8.0 wurde die Benutzerauthentifizierungsmethode zu caching_sha2_password
geändert, wodurch mysql_native_password
-Authentifizierung nicht mehr verfügbar ist. Alternativ können Sie den az mysql flexible-server connect
Befehl in der Azure CLI verwenden, um die Konnektivität mit Ihrem Datenbankserver zu testen, schnell eine einfache Datenbank zu erstellen und Abfragen direkt auf Ihrem Server auszuführen, ohne mysql.exe oder MySQL Workbench zu installieren. Sie können den Befehl auch im interaktiven Modus verwenden, um mehrere Abfragen gleichzeitig auszuführen.
Verwenden Sie die folgenden Befehle, um eine Datenbank zu erstellen, eine Verbindung mit dem Server herzustellen und eine Abfrage auszuführen, wobei die gleichen Platzhalterwerte aus den vorherigen Befehlen und dem neuen <database-name>
Wert zum Benennen der Datenbank verwendet werden.
Verwenden Sie zum Erstellen einer Datenbank den folgenden Befehl:
az mysql flexible-server db create \ --resource-group <resource-group-name> \ --server-name <MySQL-server-name> \ --database-name <database-name> \ --charset utf8mb4 \ --collation utf8mb4_unicode_ci
Verwenden Sie den folgenden Befehl, um eine Verbindung mit dem Server im interaktiven Modus herzustellen:
az mysql flexible-server connect \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --interactive
Verwenden Sie zum Ausführen einer Abfrage den folgenden Befehl:
az mysql flexible-server execute \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --querytext "select * from table1;"
Alternativ können Sie die Abfrage in eine Datei einfügen und den folgenden Befehl verwenden, um die Abfrage auszuführen:
az mysql flexible-server execute \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --file-path "./test.sql"
Zusammenfassung der Einheit
Sie haben die Befehle gelernt, um eine Azure-Datenbank für MySQL – flexible Serverinstanz zu erstellen. In der nächsten Einheit erstellen und konfigurieren Sie die Datenbank für die Verwendung in Ihrer Jakarta EE-Anwendung.