Schnellstart: Erstellen einer Instanz von Azure Database for MySQL: Flexibler Server mithilfe der Azure CLI

GILT FÜR: Azure Database for MySQL – Flexible Server

In diesem Schnellstart erfahren Sie, wie Sie mit den Befehlen der Azure CLI in Azure Cloud Shell in fünf Minuten eine Azure Database for MySQL: Flexibler Server-Instanz erstellen können.

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen. Mit einem kostenlosen Azure-Konto können Sie den Azure Database for MySQL: Flexibler Server derzeit 12 Monate lang kostenlos testen. Weitere Informationen finden Sie unter Kostenlose Testversion von Azure Database for MySQL: Flexibler Server.

Öffnen von Azure Cloud Shell

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die in diesem Artikel beschriebenen Schritte durchführen können. Allgemeine Azure-Tools sind in Cloud Shell vorinstalliert und für die Verwendung mit Ihrem Konto konfiguriert.

Wählen Sie zum Öffnen von Cloud Shell oben rechts in einem Codebeispiel die Option Ausprobieren aus.

Sie können Cloud Shell auch auf einer separaten Browserregisterkarte öffnen, indem Sie zu https://shell.azure.com/bash navigieren. Wählen Sie Kopieren aus, um den Inhalt eines Codeblocks zu kopieren. Fügen Sie in Cloud Shell den Code ein, und wählen Sie die Eingabetaste aus, um ihn auszuführen.

Wenn Sie es vorziehen, die CLI lokal zu installieren und zu verwenden, müssen Sie für diesen Schnellstart mindestens Version 2.0 der Azure CLI verwenden. So suchen Sie die Version Ihrer Azure CLI-Installation. , run az --version. Installations- und Upgradeinformationen finden Sie bei Bedarf unter Installieren von Azure CLI.

Voraussetzungen

Melden Sie sich mithilfe des Befehls az login bei Ihrem Konto an. Beachten Sie die id Eigenschaft. Die Eigenschaft id verweist auf die Abonnement-ID für Ihr Azure-Konto.

az login

Wählen Sie mithilfe des Befehls az account set die Abonnement-ID unter Ihrem Azure-Konto aus. Notieren Sie sich den id-Wert aus der az login-Ausgabe, da dieser als Wert für das Argument subscription im Befehl verwendet werden soll.

Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll. Verwenden Sie az account list, um alle Abonnements als Liste abzurufen.

az account set --subscription <subscription ID>

Erstellen einer Azure Database for MySQL Flexible Server-Instanz

Erstellen Sie mithilfe des Befehls az group create eine Azure-Ressourcengruppe. Erstellen Sie dann Ihre Azure Database for MySQL – Flexible Server innerhalb der Ressourcengruppe. Stellen Sie sicher, dass Sie einen eindeutigen Namen angeben. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myresourcegroup am Standort eastus2 erstellt.

az group create --name myresourcegroup --location eastus2

Erstellen Sie mithilfe des az mysql flexible-server create Befehls eine Azure-Datenbank für Azure Database for MySQL Flexible Server. Ein Server kann mehrere Datenbanken enthalten. Mit dem folgenden Befehl wird ein Server mit Dienststandards und -werten aus dem lokalen Kontext der Azure CLI erstellt:

az mysql flexible-server create

Der erstellte Server weist die folgenden Attribute auf:

  • Er besitzt automatisch generierte Werte für Servername, Administratorbenutzername, Administratorkennwort und Ressourcengruppenname (sofern nicht bereits im lokalen Kontext angegeben) und befindet sich am gleichen Standort wie die Ressourcengruppe.
  • Die Dienststandardwerte für verbleibende Serverkonfigurationen lauten wie folgt: Computetarif (Burstable) (Burstfähig), Computegröße/SKU (B1MS), Aufbewahrungszeitraum für Sicherungen (5.7) und MySQL-Version (5.7).
  • Die Standardkonnektivitätsmethode ist der private Zugriff (VNet-Integration) mit einem automatisch generierten virtuellen Netzwerk und Subnetz.

Hinweis

Nach der Erstellung des Servers kann die Verbindungsmethode nicht mehr geändert werden. Wenn Sie beispielsweise beim Erstellen des Servers den privaten Zugriff (VNet-Integration) ausgewählt haben, können Sie die Einstellung nach der Bereitstellung nicht mehr auf Öffentlicher Zugriff (zugelassene IP-Adressen) ändern. Es wird dringend empfohlen, einen Server mit privatem Zugriff zu erstellen, um sicher auf Ihren Server zuzugreifen, indem Sie die Integration des virtuellen Netzwerks verwenden. Weitere Informationen zum privaten Zugriff finden Sie im Artikel zu Netzwerkkonzepten.

Wenn Sie irgendwelche Standardwerte ändern möchten, finden Sie in der Referenzdokumentation zur Azure CLI die komplette Liste der konfigurierbaren Azure CLI-Parameter.

Hier sehen Sie eine Beispielausgabe:

Creating Resource Group 'groupXXXXXXXXXX'...
Creating new vnet "serverXXXXXXXXXVNET" in resource group "groupXXXXXXXXXX"...
Creating new subnet "serverXXXXXXXXXSubnet" in resource group "groupXXXXXXXXXX" and delegating it to "Microsoft.DBforMySQL/flexibleServers"...
Creating MySQL Server 'serverXXXXXXXXX' in group 'groupXXXXXXXXXX'...
Your server 'serverXXXXXXXXX' is using SKU 'Standard_B1ms' (Paid Tier). For pricing details, see https://aka.ms/mysql-pricing.
Creating MySQL database 'flexibleserverdb'...
Make a note of your password. If you forget your password, reset the password by running 'az mysql flexible-server update -n serverXXXXXXXXX -g groupXXXXXXXXXX -p <new-password>'.
{
  "connectionString": "server=serverXXXXXXXXX.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=securepasswordstring",
  "databaseName": "flexibleserverdb",
  "host": "serverXXXXXXXXX.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.DBforMySQL/flexibleServers/serverXXXXXXXXX",
  "location": "East US 2",
  "password": "securepasswordstring",
  "resourceGroup": "groupXXXXXXXXXX",
  "skuname": "Standard_B1ms",
  "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/serverXXXXXXXXXVNET/subnets/serverXXXXXXXXXSubnet",
  "username": "secureusername",
  "version": "5.7"
}

Wenn Sie irgendwelche Standardwerte ändern möchten, finden Sie in der Referenzdokumentation zur Azure CLI die komplette Liste der konfigurierbaren Azure CLI-Parameter.

Erstellen einer Datenbank

Wenn Sie noch keine Datenbank erstellt haben, erstellen Sie eine neue mit dem Namen newdatabase, indem Sie den folgenden Befehl ausführen:

az mysql flexible-server db create -d newdatabase

Hinweis

Verbindungen mit Azure Database for MySQL: Flexibler Server kommunizieren mithilfe von Port 3306. Wenn Sie versuchen, eine Verbindung über ein Unternehmensnetzwerk herzustellen, wird ausgehender Datenverkehr über Port 3306 unter Umständen nicht zugelassen. Sie können nur dann eine Verbindung mit Ihrem Server herstellen, wenn Ihre IT-Abteilung Port 3306 öffnet.

Abrufen der Verbindungsinformationen

Zum Herstellen einer Verbindung zum Server müssen Sie Hostinformationen und Anmeldeinformationen für den Zugriff angeben:

az mysql flexible-server show --resource-group myresourcegroup --name mydemoserver

Das Ergebnis liegt im JSON-Format vor. Notieren Sie sich die Werte für fullyQualifiedDomainNameund administratorLogin. Hier ist ein Beispiel für die JSON-Ausgabe:

{
  "administratorLogin": "myadminusername",
  "administratorLoginPassword": null,
  "delegatedSubnetArguments": {
    "subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/mydemoserverVNET/subnets/mydemoserverSubnet"
  },
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/flexibleServers/mydemoserver",
  "location": "East US 2",
  "name": "mydemoserver",
  "publicNetworkAccess": "Disabled",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 0,
    "name": "Standard_B1ms",
    "tier": "Burstable"
  },
  "storageProfile": {
    "backupRetentionDays": 7,
    "fileStorageSkuName": "Premium_LRS",
    "storageAutogrow": "Disabled",
    "storageIops": 0,
    "storageMb": 10240
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/flexibleServers",
  "version": "5.7"
}

Verbinden und Testen der Verbindung mithilfe der Azure CLI

Sie können Azure Database for MySQL: Flexibler Server verwenden, um eine Verbindung mit Ihrem flexiblen Server herzustellen, indem Sie den az mysql flexible-server connect Befehl in der Azure CLI verwenden. Mit diesem Befehl können Sie die Konnektivität mit dem Datenbankserver testen, eine einfache Schnellstartdatenbank erstellen und Abfragen direkt auf Ihrem Server ausführen, ohne mysql.exe oder MySQL Workbench installieren zu müssen. Sie können den Befehl auch im interaktiven Modus verwenden, um mehrere Abfragen gleichzeitig auszuführen.

Führen Sie das folgende Skript aus, um die Verbindung mit der Datenbank aus Ihrer Entwicklungsumgebung zu testen und zu überprüfen:

az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>

Ein Beispiel:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase

In einer erfolgreichen Verbindung wird die Ausgabe wie im folgenden Beispiel angezeigt:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Konnte die Verbindung nicht hergestellt werden, versuchen Sie Folgendes:

  • Überprüfen Sie, ob Port 3306 auf dem Clientcomputer geöffnet ist.
  • Überprüfen Sie, ob Benutzername und Kennwort des Serveradministrators korrekt sind.
  • Stellen Sie sicher, dass Sie eine Firewallregel für Ihren Clientcomputer konfiguriert haben.
  • Stellen Sie sicher, dass sich Ihr Clientcomputer im gleichen virtuellen Netzwerk wie der Server befindet, wenn Sie ihren Server für den privaten Zugriff in einem virtuellen Netzwerk konfiguriert haben.

Um eine einzelne Abfrage auszuführen, verwenden Sie das --querytext Argument (-q):

az mysql flexible-server connect -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"

Ein Beispiel:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table

Weitere Informationen zur Verwendung von az mysql flexible-server connectfinden Sie unter Azure CLI Herstellen einer Verbindung und Ausführen von Abfragen.

Verbinden mithilfe des MySQL-Befehlszeilenclients

Wenn Sie Ihre Azure Database for MySQL Flexible Server mithilfe des privaten Zugriffs mit der Integration des virtuellen Netzwerks erstellt haben, stellen Sie eine Verbindung mit Ihrem Server aus einer Ressource her, die sich im selben virtuellen Netzwerk wie Ihr Server befindet. Sie können einen virtuellen Computer erstellen und dem virtuellen Netzwerk hinzufügen, das erstellt wurde, als Sie Ihre Azure Database for MySQL: Flexibler Server-Instanz erstellt haben. Weitere Informationen finden Sie unter Konfigurieren des privaten Zugriffs.

Wenn Sie Ihre Instanz von Azure Database for MySQL: Flexibler Server mit Öffentlicher Zugriff (zulässige IP-Adressen) erstellt haben, können Sie die lokale IP-Adresse der Liste der Firewallregeln für die Serverinstanz hinzufügen. Ausführliche Anleitungen finden Sie unter Erstellen und Verwalten von Firewallregeln.

Sie können mysql.exe oder MySQL Workbench auswählen, um aus Ihrer lokalen Umgebung eine Verbindung mit dem Server herzustellen. Azure Database for MySQL: Flexibler Server unterstützt das Herstellen einer Verbindung zwischen Ihren Clientanwendungen und dem Dienst Azure Database for MySQL: Flexibler Server über Transport Layer Security (TLS), zuvor bekannt als Secure Sockets Layer (SSL). TLS ist ein Standardprotokoll der Branche, das verschlüsselte Netzwerkverbindungen zwischen dem Datenbankserver und Clientanwendungen gewährleistet, sodass Sie Konformitätsanforderungen einhalten können. Um eine Verbindung mit Ihrer Azure Database for MySQL: Flexibler Server herzustellen, laden Sie das öffentliche SSL-Zertifikat für die Überprüfung der Zertifizierungsstelle herunter. Weitere Informationen zum Herstellen einer Verbindung mithilfe verschlüsselter Verbindungen oder zum Deaktivieren von SSL finden Sie unter Herstellen einer Verbindung mit Azure Database for MySQL: Flexibler Server mithilfe verschlüsselter Verbindungen.

Das folgende Beispiel zeigt, wie Sie mithilfe des Befehlszeilenclienttools MySQL eine Verbindung mit Ihrer Azure Database for MySQL: Flexibler Server herstellen. Sie können das Tool installieren, wenn es noch nicht installiert ist. Laden Sie das für SSL-Verbindungen erforderliche DigiCertGlobalRootCA-Zertifikat herunter. Verwenden Sie die Einstellung --ssl-mode=REQUIRED für die Verbindungszeichenfolge, um die Überprüfung des TLS-/SSL-Zertifikats zu erzwingen. Übergeben Sie den Pfad der lokalen Zertifikatdatei an den Parameter --ssl-ca. Ersetzen Sie die Werte durch den tatsächlichen Servernamen und das Kennwort.

sudo apt-get install mysql-client
wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootCA.crt.pem

Wenn Sie Ihren Azure Database for MySQL: Flexibler: Server mithilfe des öffentlichen Zugriffs bereitgestellt haben, können Sie auch Azure Cloud Shell verwenden, um mithilfe des vorinstallierten MySQL-Clients eine Verbindung mit Ihrem Azure Database for MySQL: Flexibler Server herzustellen.

Um Azure Cloud Shell zum Herstellen einer Verbindung mit Ihrem Azure Database for MySQL Flexible Server zu verwenden, ermöglichen Sie den Netzwerkzugriff von Azure Cloud Shell auf den Azure Database for MySQL Flexible Server. Um den Zugriff zu ermöglichen, wechseln Sie zum Bereich Networking im Azure-Portal für Ihren Azure Database for MySQL: Flexibler Server. Aktivieren Sie unter Firewall das Kontrollkästchen Öffentlichen Zugriff auf diesen Server über beliebigen Azure-Dienst in Azure gestatten, wie im folgenden Screenshot gezeigt. Wählen Sie dann Speichern aus, um die Einstellung beizubehalten.

Screenshot that shows how to grant Azure Cloud Shell access to an Azure Database for MySQL flexible server for public access network configuration.

Hinweis

Wählen Sie Öffentlichen Zugriff auf diesen Server über beliebigen Azure-Dienst in Azure gestatten aus, aber nur für Entwicklung oder Tests. Durch diese Einstellung wird die Firewall so konfiguriert, dass Verbindungen von IP-Adressen zugelassen werden, die einem beliebigen Azure-Dienst oder einer beliebigen Azure-Ressource zugeordnet sind. Dies schließt auch Verbindungen aus den Abonnements mit ein.

Wählen Sie Ausprobieren aus, um Azure Cloud Shell zu öffnen. Verwenden Sie in Cloud Shell die folgenden Befehle, um eine Verbindung mit dem Azure Database for MySQL: Flexibler Server herzustellen. Verwenden Sie im Befehl Ihren Servernamen, Benutzernamen und Ihr Kennwort.

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl=true --ssl-ca=DigiCertGlobalRootCA.crt.pem

Wichtig

Wenn Sie mithilfe von Cloud Shell eine Verbindung mit Ihrer Azure Database for MySQL: Flexibler Server herstellen, verwenden Sie den --ssl=true Parameter. Verwenden Sie nicht --ssl-mode=REQUIRED.

Der Hauptgrund für diese Anleitung ist, dass Azure Cloud Shell mit dem mysql.exe Client aus der MariaDB-Verteilung vorinstalliert ist. Der mysql.exe-Client erfordert den --ssl Parameter. Der MySQL-Client aus der Oracle-Verteilung erfordert den --ssl-mode Parameter.

Wenn die folgende Fehlermeldung angezeigt wird, wenn Sie eine Verbindung mit Azure Database for MySQL: Flexibler Server herstellen, haben Sie entweder nicht das Kontrollkästchen Öffentlichen Zugriff von einem beliebigen Azure-Dienst in Azure auf diesen Server zulassen aktiviert, wenn Sie Ihre Firewallregeln einrichten, oder die Option wird nicht gespeichert. Legen Sie die Firewallregeln fest, und versuchen Sie es dann erneut.

ERROR 2002 (HY000): Can't connect to MySQL server on <servername> (115)

Bereinigen von Ressourcen

Wenn Sie die Ressourcen, die Sie für diesen Artikel erstellt haben, nicht in einer anderen Schnellstartanleitung oder einem anderen Lernprogramm verwenden müssen, können Sie sie löschen, indem Sie den folgenden Befehl ausführen:

az group delete --name myresourcegroup

Wenn Sie nur den von Ihnen erstellten flexiblen Server löschen möchten, führen Sie den folgenden Befehl aus:

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