Snabbstart: Skapa en instans av Azure Database for MySQL – flexibel server med hjälp av Azure CLI

GÄLLER FÖR: Azure Database for MySQL – flexibel server

Den här snabbstarten visar hur du använder Azure CLI-kommandon i Azure Cloud Shell för att skapa en instans av Azure Database for MySQL – flexibel server på fem minuter.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar. Med ett kostnadsfritt Azure-konto kan du prova Azure Database for MySQL – flexibel server kostnadsfritt i 12 månader. Mer information finns i Prova Azure Database for MySQL – flexibel server kostnadsfritt.

Öppna Azure Cloud Shell

Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra de steg som beskrivs i den här artikeln. I Cloud Shell är vanliga Azure-verktyg förinstallerade och konfigurerade för användning med ditt konto.

Om du vill öppna Cloud Shell går du till det övre högra hörnet i ett kodexempel och väljer Prova.

Du kan också öppna Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com/bash. Välj Kopiera för att kopiera innehållet i ett kodblock. I Cloud Shell klistrar du in koden och väljer Retur för att köra den.

Om du föredrar att installera och använda Azure CLI kräver den här snabbstarten Azure CLI version 2.0 eller senare. För att hitta versionen av din Azure CLI-installation. , kör az --version. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI.

Förutsättningar

Logga in på ditt konto med kommandot az login . Anteckna egenskapen id . Egenskapen id refererar till prenumerations-ID för ditt Azure-konto.

az login

Välj den specifika prenumerationen i ditt Azure-konto med kommandot az account set . Anteckna värdet id från utdata som az login ska användas som värde för subscription argumentet i kommandot.

Om du har flera prenumerationer väljer du den prenumeration där du vill att resursen ska faktureras. Om du vill hämta en lista över dina prenumerationer använder du az account list.

az account set --subscription <subscription ID>

Skapa en flexibel Azure Database for MySQL-server

Skapa en Azure-resursgrupp med hjälp az group create av kommandot . Skapa sedan azure database for MySQL – flexibel server i resursgruppen. Se till att ange ett unikt namn. I följande exempel skapas en resursgrupp med namnet myresourcegroup på platsen eastus2.

az group create --name myresourcegroup --location eastus2

Skapa en flexibel Azure Database for MySQL-server med hjälp az mysql flexible-server create av kommandot . En server kan innehålla flera databaser. Följande kommando skapar en server med hjälp av tjänstens standardvärden och värden från den lokala kontexten för Azure CLI:

az mysql flexible-server create

Servern som skapas har följande attribut:

  • Ett automatiskt genererat servernamn, administratörsanvändarnamn, administratörslösenord och resursgruppsnamn (om det inte redan har angetts i en lokal kontext) och det finns på samma plats som resursgruppen.
  • Tjänstens standardvärden för återstående serverkonfigurationer: beräkningsnivå (burstable), beräkningsstorlek/SKU (B1MS), kvarhållningsperiod för säkerhetskopiering (sju dagar) och MySQL-version (5.7).
  • Standardanslutningsmetoden är Privat åtkomst (VNet-integrering) med ett automatiskt genererat virtuellt nätverk och undernät.

Kommentar

Det går inte att ändra anslutningsmetoden när du har skapat servern. Om du till exempel valde Privat åtkomst (VNet-integrering) när du skapade servern kan du inte ändra inställningen till Offentlig åtkomst (tillåtna IP-adresser) efter distributionen. Vi rekommenderar starkt att du skapar en server som har privat åtkomst för säker åtkomst till servern med hjälp av integrering av virtuella nätverk. Mer information om privat åtkomst finns i artikeln om nätverksbegrepp.

Om du vill ändra några standardvärden kan du läsa azure CLI-referensdokumentationen för den fullständiga listan över konfigurerbara Azure CLI-parametrar.

Här är några exempelutdata:

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

Om du vill ändra några standardvärden kan du läsa azure CLI-referensdokumentationen för den fullständiga listan över konfigurerbara Azure CLI-parametrar.

Skapa en -databas

Om du inte redan har skapat en databas skapar du en databas med namnet newdatabase genom att köra följande kommando:

az mysql flexible-server db create -d newdatabase

Kommentar

Anslutningar till Azure Database for MySQL – flexibel server kommunicerar med hjälp av port 3306. Om du försöker ansluta inifrån ett företagsnätverk kanske utgående trafik via port 3306 inte tillåts. Du kan inte ansluta till servern om inte IT-avdelningen öppnar port 3306.

Hämta anslutningsinformationen

Om du vill ansluta till servern måste du ange värdinformation och autentiseringsuppgifter för åtkomst:

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

Resultatet är i JSON-format. Anteckna värdena för fullyQualifiedDomainName och administratorLogin. Här är ett exempel på JSON-utdata:

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

Ansluta och testa anslutningen med hjälp av Azure CLI

Du kan använda Azure Database for MySQL – flexibel server för att ansluta till din flexibla server med hjälp az mysql flexible-server connect av kommandot i Azure CLI. Du kan använda det här kommandot för att testa anslutningen till databasservern, skapa en snabb grundläggande databas och köra frågor direkt mot servern utan att installera mysql.exe eller MySQL Workbench. Du kan också använda kommandot i interaktivt läge för att köra flera frågor åt gången.

Kör följande skript för att testa och verifiera anslutningen till databasen från utvecklingsmiljön:

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

Här är ett exempel:

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

I en lyckad anslutning visas utdata som i följande exempel:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Om anslutningen misslyckas kan du prova följande lösningar:

  • Kontrollera om port 3306 är öppen på klientdatorn.
  • Kontrollera att användarnamnet och lösenordet för serveradministratören är korrekta.
  • Kontrollera att du har konfigurerat en brandväggsregel för klientdatorn.
  • Kontrollera att klientdatorn finns i samma virtuella nätverk som servern om du har konfigurerat servern för privat åtkomst i ett virtuellt nätverk.

Om du vill köra en enskild fråga använder du--querytext argumentet (-q):

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

Här är ett exempel:

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

Mer information om hur du använder finns az mysql flexible-server connecti Azure CLI-anslutning och fråga.

Anslut med hjälp av MySQL-kommandoradsklienten

Om du har skapat azure database for MySQL – flexibel server med hjälp av privat åtkomst med integrering av virtuella nätverk ansluter du till servern från en resurs som finns i samma virtuella nätverk som servern. Du kan skapa en virtuell dator och lägga till den i det virtuella nätverk som skapades när du skapade din Azure Database for MySQL – flexibel serverinstans. Mer information finns i Konfigurera privat åtkomst.

Om du har skapat din Azure Database for MySQL – flexibel serverinstans med hjälp av offentlig åtkomst (tillåtna IP-adresser) kan du lägga till din lokala IP-adress i listan över brandväggsregler på servern. Detaljerad vägledning finns i Skapa eller hantera brandväggsregler.

Om du vill ansluta till servern från din lokala miljö kan du använda antingen mysql.exe eller MySQL Workbench. Azure Database for MySQL – Flexibel server stöder anslutning av dina klientprogram till Tjänsten Azure Database for MySQL – flexibel server med hjälp av TLS (Transport Layer Security), som tidigare kallades Secure Sockets Layer (SSL). TLS är ett branschstandardprotokoll som säkerställer krypterade nätverksanslutningar mellan databasservern och klientprogrammen, så att du kan följa efterlevnadskraven. Om du vill ansluta med hjälp av din flexibla Azure Database for MySQL-server laddar du ned det offentliga SSL-certifikatet för verifiering av certifikatutfärdare. Mer information om hur du ansluter med krypterade anslutningar eller inaktivering av SSL finns i Ansluta till Azure Database for MySQL – flexibel server med hjälp av krypterade anslutningar.

I följande exempel visas hur du ansluter till din flexibla Azure Database for MySQL-server med hjälp av kommandoradsklientverktyget MySQL. Du kan installera verktyget om det inte redan är installerat. Ladda ned DigiCertGlobalRootCA-certifikatet som krävs för SSL-anslutningar. Använd inställningen --ssl-mode=REQUIRED anslutningssträng för att framtvinga TLS/SSL-certifikatverifiering. Skicka sökvägen till den lokala certifikatfilen till parametern --ssl-ca . Ersätt värden med ditt faktiska servernamn och lösenord.

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

Om du har etablerat din flexibla Azure Database for MySQL-server med hjälp av offentlig åtkomst kan du också använda Azure Cloud Shell för att ansluta till din flexibla Azure Database for MySQL-server med hjälp av den förinstallerade MySQL-klienten.

Om du vill använda Azure Cloud Shell för att ansluta till din flexibla Azure Database for MySQL-server tillåter du nätverksåtkomst från Azure Cloud Shell till din flexibla Azure Database for MySQL-server. Om du vill tillåta åtkomst går du till fönstret Azure Portal Nätverk för azure database for MySQL – flexibel server. Under Brandvägg väljer du kryssrutan Tillåt offentlig åtkomst från alla Azure-tjänster i Azure till den här servern enligt följande skärmbild. Välj sedan Spara för att spara inställningen.

Skärmbild som visar hur du beviljar Azure Cloud Shell åtkomst till en flexibel Azure Database for MySQL-server för nätverkskonfiguration för offentlig åtkomst.

Kommentar

Välj Tillåt offentlig åtkomst från valfri Azure-tjänst i Azure till den här servern endast för utveckling eller testning. Den här inställningen konfigurerar brandväggen för att tillåta anslutningar från IP-adresser som allokeras till valfri Azure-tjänst eller tillgång, inklusive anslutningar från andra Azure-prenumerationer.

Välj Prova för att öppna Azure Cloud Shell. I Cloud Shell använder du följande kommandon för att ansluta till din flexibla Azure Database for MySQL-server. Använd servernamn, användarnamn och lösenord i kommandot .

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

Viktigt!

När du ansluter till din flexibla Azure Database for MySQL-server med hjälp av Cloud Shell använder du parametern --ssl=true . Använd inte --ssl-mode=REQUIRED.

Den främsta orsaken till att den här vägledningen är viktig är att Azure Cloud Shell är förinstallerat med mysql.exe-klienten från MariaDB-distributionen. Den mysql.exe klienten kräver parametern --ssl . MySQL-klienten från Oracle-distributionen kräver parametern --ssl-mode .

Om du ser följande felmeddelande när du ansluter till din flexibla Azure Database for MySQL-server väljer du antingen inte kryssrutan Tillåt offentlig åtkomst från någon Azure-tjänst i Azure till den här servern när du konfigurerar brandväggsreglerna, eller så sparas inte alternativet. Ange brandväggsreglerna och försök sedan igen.

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

Rensa resurser

Om du inte behöver använda de resurser som du skapade för den här artikeln i en annan snabbstart eller självstudie kan du ta bort dem genom att köra följande kommando:

az group delete --name myresourcegroup

Om du bara vill ta bort den flexibla server som du skapade kör du det här kommandot:

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