Quickstart: Een exemplaar van Azure Database for MySQL - Flexible Server maken met behulp van de Azure CLI

VAN TOEPASSING OP: Azure Database for MySQL - Flexibele server

In deze quickstart ziet u hoe u azure CLI-opdrachten in Azure Cloud Shell gebruikt om in vijf minuten een exemplaar van Azure Database for MySQL - Flexible Server te maken.

Als u geen Azure-abonnement hebt, maakt u een gratis Azure-account voordat u begint. Op dit moment kunt u met een gratis Azure-account Azure Database for MySQL - Flexible Server 12 maanden gratis proberen. Zie Azure Database for MySQL - Flexible Server gratis uitproberen voor meer informatie.

Azure Cloud Shell openen

Azure Cloud Shell is een gratis, interactieve shell die u kunt gebruiken om de stappen uit te voeren die in dit artikel worden beschreven. In Cloud Shell worden algemene Azure-hulpprogramma's vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.

Als u Cloud Shell wilt openen, selecteert u In de rechterbovenhoek van een codevoorbeeld de optie Uitproberen.

Als u naar https://shell.azure.com/bash gaat, kunt u Cloud Shell ook openen in een afzonderlijk browsertabblad. Selecteer Kopiëren om de inhoud van een codeblok te kopiëren. Plak de code in Cloud Shell en selecteer Enter om deze uit te voeren.

Als u de Azure CLI liever installeert en gebruikt, is voor deze quickstart Versie 2.0 of hoger van Azure CLI vereist. De versie van uw Azure CLI-installatie zoeken. , voer het uit az --version. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.

Vereisten

Meld u aan bij uw account met behulp van de opdracht az login . Noteer de id eigenschap. De id eigenschap verwijst naar de abonnements-id van uw Azure-account.

az login

Selecteer het specifieke abonnement in uw Azure-account met behulp van de opdracht az account set . Noteer de id waarde uit de az login uitvoer die moet worden gebruikt als de waarde voor het subscription argument in de opdracht.

Als u meerdere abonnementen hebt, selecteert u het abonnement waarin u de resource wilt factureren. Gebruik az account list om een lijst met uw abonnementen op te halen.

az account set --subscription <subscription ID>

Een flexibele Azure Database for MySQL Flexible Server maken

Maak een Azure-resourcegroep met behulp van de az group create opdracht. Maak vervolgens uw flexibele Azure Database for MySQL-server in de resourcegroep. Zorg ervoor dat u een unieke naam opgeeft. In het volgende voorbeeld wordt een resourcegroep met de naam myresourcegroup gemaakt op de locatie eastus2.

az group create --name myresourcegroup --location eastus2

Maak een flexibele Azure Database for MySQL-server met behulp van de az mysql flexible-server create opdracht. Een server kan meerdere databases bevatten. Met de volgende opdracht maakt u een server met behulp van servicestandaarden en -waarden uit de lokale context van de Azure CLI:

az mysql flexible-server create

De gemaakte server heeft de volgende kenmerken:

  • Een automatisch gegenereerde servernaam, gebruikersnaam van beheerder, beheerderswachtwoord en resourcegroepnaam (als deze nog niet is opgegeven in een lokale context) en deze zich op dezelfde locatie bevindt als uw resourcegroep.
  • Servicestandaarden voor de resterende serverconfiguraties: rekenlaag (Burstable), rekengrootte/SKU (B1MS), bewaarperiode voor back-ups (zeven dagen) en MySQL-versie (5.7).
  • De standaardverbindingsmethode is Privétoegang (VNet-integratie) met een automatisch gegenereerd virtueel netwerk en subnet.

Notitie

De connectiviteitsmethode kan niet worden gewijzigd nadat u de server hebt gemaakt. Als u bijvoorbeeld Privétoegang (VNet-integratie) hebt geselecteerd bij het maken van de server, kunt u de instelling niet wijzigen in Openbare toegang (toegestane IP-adressen) na de implementatie. We raden u ten zeerste aan een server te maken die privétoegang heeft om veilig toegang te krijgen tot uw server met behulp van integratie van virtuele netwerken. Zie het artikel over netwerkconcepten voor meer informatie over privétoegang.

Als u de standaardinstellingen wilt wijzigen, raadpleegt u de Naslagdocumentatie van Azure CLI voor de volledige lijst met configureerbare Azure CLI-parameters.

Hier ziet u voorbeelduitvoer:

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"
}

Als u de standaardinstellingen wilt wijzigen, raadpleegt u de Naslagdocumentatie van Azure CLI voor de volledige lijst met configureerbare Azure CLI-parameters.

Een -database maken

Als u nog geen database hebt gemaakt, maakt u er een met de naam newdatabase door de volgende opdracht uit te voeren:

az mysql flexible-server db create -d newdatabase

Notitie

Verbinding maken ions to Azure Database for MySQL - Flexible Server communiceren met behulp van poort 3306. Als u verbinding probeert te maken vanuit een bedrijfsnetwerk, is uitgaand verkeer via poort 3306 mogelijk niet toegestaan. U kunt geen verbinding maken met uw server, tenzij uw IT-afdeling poort 3306 opent.

De verbindingsgegevens ophalen

Als u verbinding wilt maken met uw server, moet u hostgegevens en toegangsreferenties opgeven:

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

Het resultaat wordt in JSON-indeling weergegeven. Noteer de waarden voor fullyQualifiedDomainName en administratorLogin. Hier volgt een voorbeeld van de JSON-uitvoer:

{
  "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"
}

Verbinding maken en test de verbinding met behulp van de Azure CLI

U kunt Azure Database for MySQL - Flexible Server gebruiken om verbinding te maken met uw flexibele server met behulp van de az mysql flexible-server connect opdracht in de Azure CLI. U kunt deze opdracht gebruiken om de verbinding met uw databaseserver te testen, een snelle basisdatabase te maken en query's rechtstreeks op uw server uit te voeren zonder mysql.exe of MySQL Workbench te installeren. U kunt de opdracht ook in de interactieve modus gebruiken om meerdere query's tegelijk uit te voeren.

Voer het volgende script uit om de verbinding met de database vanuit uw ontwikkelomgeving te testen en te valideren:

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

Hier volgt een voorbeeld:

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

In een geslaagde verbinding wordt uitvoer zoals in het volgende voorbeeld weergegeven:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Als de verbinding mislukt, probeert u deze oplossingen:

  • Controleer of poort 3306 is geopend op uw clientcomputer.
  • Controleer of de gebruikersnaam en het wachtwoord van de serverbeheerder juist zijn.
  • Controleer of u een firewallregel hebt geconfigureerd voor uw clientcomputer.
  • Zorg ervoor dat uw clientcomputer zich in hetzelfde virtuele netwerk bevindt als de server als u uw server hebt geconfigureerd voor privétoegang in een virtueel netwerk.

Als u één query wilt uitvoeren, gebruikt u het--querytext argument (-q):

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

Hier volgt een voorbeeld:

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

Zie Voor meer informatie over het gebruik az mysql flexible-server connectvan Azure CLI verbinding maken en query's uitvoeren.

Verbinding maken met behulp van de MySQL-opdrachtregelclient

Als u uw flexibele Azure Database for MySQL-server hebt gemaakt met behulp van privétoegang met integratie van virtuele netwerken, maakt u verbinding met uw server vanaf een resource die zich in hetzelfde virtuele netwerk bevindt als uw server. U kunt een virtuele machine maken en deze toevoegen aan het virtuele netwerk dat is gemaakt toen u uw Azure Database for MySQL - Flexible Server-exemplaar maakte. Zie Privétoegang configureren voor meer informatie.

Als u uw Exemplaar van Azure Database for MySQL - Flexible Server hebt gemaakt met behulp van openbare toegang (toegestane IP-adressen), kunt u uw lokale IP-adres toevoegen aan de lijst met firewallregels op uw server. Zie Firewallregels maken of beheren voor gedetailleerde richtlijnen.

Als u vanuit uw lokale omgeving verbinding wilt maken met de server, kunt u mysql.exe of MySQL Workbench gebruiken. Azure Database for MySQL - Flexible Server biedt ondersteuning voor het verbinden van uw clienttoepassingen met de Azure Database for MySQL - Flexible Server-service met behulp van Transport Layer Security (TLS), voorheen bekend als SSL (Secure Sockets Layer). TLS is een industriestandaard protocol dat zorgt voor versleutelde netwerkverbindingen tussen uw databaseserver en clienttoepassingen, zodat u aan de nalevingsvereisten kunt voldoen. Als u verbinding wilt maken met behulp van uw flexibele Azure Database for MySQL-server, downloadt u het openbare SSL-certificaat voor verificatie door de certificeringsinstantie. Zie Verbinding maken naar Azure Database for MySQL - Flexible Server met behulp van versleutelde verbindingen voor meer informatie over het maken van verbinding met behulp van versleutelde verbindingen of het uitschakelen van SSL.

In het volgende voorbeeld ziet u hoe u verbinding maakt met uw flexibele Azure Database for MySQL-server met behulp van het mySQL-opdrachtregelclientprogramma. U kunt het hulpprogramma installeren als dit nog niet is geïnstalleerd. Download het DigiCertGlobalRootCA-certificaat dat is vereist voor SSL-verbindingen. Gebruik de --ssl-mode=REQUIRED verbindingsreeks-instelling om verificatie van TLS/SSL-certificaten af te dwingen. Geef het pad naar het lokale certificaatbestand door aan de --ssl-ca parameter. Vervang de waarden door uw werkelijke servernaam en wachtwoord.

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

Als u uw flexibele Azure Database for MySQL-server hebt ingericht met behulp van openbare toegang, kunt u ook Azure Cloud Shell gebruiken om verbinding te maken met uw flexibele Azure Database for MySQL-server met behulp van de vooraf geïnstalleerde MySQL-client.

Als u Azure Cloud Shell wilt gebruiken om verbinding te maken met uw flexibele Azure Database for MySQL-server, staat u netwerktoegang vanuit Azure Cloud Shell toe aan uw flexibele Azure Database for MySQL-server. Als u toegang wilt toestaan, gaat u naar het deelvenster Netwerken van Azure Portal voor uw flexibele Azure Database for MySQL-server. Schakel onder Firewall het selectievakje Openbare toegang vanuit elke Azure-service in Azure tot deze server toestaan in, zoals wordt weergegeven in de volgende schermopname. Selecteer Vervolgens Opslaan om de instelling te behouden.

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

Notitie

Selecteer Openbare toegang vanuit elke Azure-service binnen Azure alleen toestaan voor ontwikkeling of testen op deze server . Met deze instelling configureert u de firewall om verbindingen toe te staan van IP-adressen die zijn toegewezen aan een Azure-service of -asset, inclusief verbindingen van andere Azure-abonnementen.

Selecteer Uitproberen om de Azure Cloud Shell te openen. Gebruik in Cloud Shell de volgende opdrachten om verbinding te maken met uw flexibele Azure Database for MySQL-server. Gebruik uw servernaam, gebruikersnaam en wachtwoord in de opdracht.

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

Belangrijk

Wanneer u verbinding maakt met uw flexibele Azure Database for MySQL-server met behulp van Cloud Shell, gebruikt u de --ssl=true parameter. Niet gebruiken --ssl-mode=REQUIRED.

De belangrijkste reden dat deze richtlijnen belangrijk zijn, is dat Azure Cloud Shell vooraf is geïnstalleerd met de mysql.exe-client uit de MariaDB-distributie. Voor de mysql.exe-client is de --ssl parameter vereist. De MySQL-client van de Oracle-distributie vereist de --ssl-mode parameter.

Als u het volgende foutbericht ziet wanneer u verbinding maakt met uw flexibele Azure Database for MySQL-server, schakelt u het selectievakje Openbare toegang vanuit een Azure-service in Azure naar deze server niet in wanneer u uw firewallregels instelt of wordt de optie niet opgeslagen. Stel de firewallregels in en probeer het opnieuw.

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

Resources opschonen

Als u de resources die u voor dit artikel hebt gemaakt, niet hoeft te gebruiken in een andere quickstart of zelfstudie, kunt u deze verwijderen door de volgende opdracht uit te voeren:

az group delete --name myresourcegroup

Als u alleen de flexibele server wilt verwijderen die u hebt gemaakt, voert u deze opdracht uit:

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