Snabbstart: Skapa en Azure Database for MySQL flexibel server med 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 Azure Database for MySQL flexibel server på fem minuter.
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto innan du börjar. Med ett kostnadsfritt Azure-konto kan du nu prova Azure Database for MySQL – flexibel server kostnadsfritt i 12 månader. Mer information finns i Prova flexibel server utan kostnad.
Starta Azure Cloud Shell
Den Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.
Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. 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 kodblocken, klistra in det i Cloud Shell och välj Retur för att köra den.
Om du föredrar att installera och använda CLI lokalt kräver den här snabbstarten Azure CLI version 2.0 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Förutsättningar
Du måste logga in på ditt konto med kommandot az login. Observera id-egenskapen, som refererar till prenumerations-ID för ditt Azure-konto.
az login
Välj den specifika prenumerationen under ditt konto med kommandot az account set. Anteckna ID-värdet från az login-utdata som ska användas som värde för prenumerationsargumentet i kommandot . Om du har flera prenumerationer ska du välja lämplig prenumeration där resursen ska debiteras. Om du vill hämta alla dina prenumerationer använder du az account list.
az account set --subscription <subscription id>
Skapa en flexibel server
Skapa en Azure-resursgrupp med az group create kommandot och skapa sedan din flexibla MySQL-server i den här resursgruppen. Du bör 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 server med az mysql flexible-server create 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 azure CLI:s lokala kontext:
az mysql flexible-server create
Servern som skapas har attributen nedan:
- Automatiskt genererat servernamn, administratörsnamn, administratörslösenord, resursgruppsnamn (om det inte redan har angetts i lokal kontext) och på samma plats som resursgruppen
- Tjänstens standardinställningar för återstående serverkonfigurationer: beräkningsnivå (burstable), beräkningsstorlek/SKU (B1MS), kvarhållningsperiod för säkerhetskopior (7 dagar) och MySQL-version (5.7)
- Standardanslutningsmetoden är Privat åtkomst (VNet-integrering) med ett automatiskt genererat virtuellt nätverk och undernät
Anteckning
Anslutningsmetoden kan inte ändras när du har skapat servern. Om du till exempel valde Privat åtkomst (VNet-integrering) under skapa kan du inte ändra till Offentlig åtkomst (tillåtna IP-adresser) efter att du skapat. Vi rekommenderar starkt att du skapar en server med privat åtkomst för säker åtkomst till servern med VNet-integrering. Läs mer om privat åtkomst i begreppsartikeln.
Om du vill ändra standardvärdena kan du läsa den fullständiga listan med konfigurerbara CLI-parametrar i Azure CLI-referensdokumentationen.
Nedan visas några exempel på utdata:
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). Please refer to https://aka.ms/mysql-pricing for pricing details
Creating MySQL database 'flexibleserverdb'...
Make a note of your password. If you forget, you would have to reset your password with '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 standardvärdena kan du läsa den fullständiga listan med konfigurerbara CLI-parametrar i Azure CLI-referensdokumentationen.
Skapa en databas
Kör följande kommando för att skapa en databas, newdatabase om du inte redan har skapat en.
az mysql flexible-server db create -d newdatabase
Anteckning
Anslutningar till Azure Database för MySQL kommunicerar via port 3306. Om du försöker ansluta inifrån ett företagsnätverk kanske utgående trafik via port 3306 inte tillåts. I så fall kan du inte ansluta till servern om inte IT-avdelningen öppnar port 3306.
Hämta anslutningsinformationen
För att ansluta till servern måste du ange värddatorinformationen och autentiseringsuppgifterna.
az mysql flexible-server show --resource-group myresourcegroup --name mydemoserver
Resultatet är i JSON-format. Anteckna fullyQualifiedDomainName och administratorLogin. Nedan visas 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"
}
Anslut och testa anslutningen med Hjälp av Azure CLI
Azure Database for MySQL flexibel server kan du ansluta till mysql-servern med Azure az mysql flexible-server connect CLI-kommandot. Med det här kommandot kan du testa anslutningen till databasservern, skapa en snabbstartdatabas och köra frågor direkt mot servern utan att behöva installera mysql.exe eller MySQL Workbench. Du kan också köra kommandot i ett interaktivt läge för att köra flera frågor.
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>
Exempel:
az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase
Du bör se följande utdata för lyckad anslutning:
Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.
Om anslutningen misslyckades kan du prova följande lösningar:
- Kontrollera om port 3306 är öppen på klientdatorn.
- om användarnamnet och lösenordet för serveradministratören är korrekta
- om du har konfigurerat brandväggsregeln för klientdatorn
- Om du har konfigurerat servern med privat åtkomst i virtuella nätverk kontrollerar du att klientdatorn finns i samma virtuella nätverk.
Kör följande kommando för att köra en enskild fråga med --querytext argumentet -q .
az mysql flexible-server connect -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"
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 az mysql flexible-server connect använder kommandot finns i dokumentationen för att ansluta och fråga.
Anslut med mysql-kommandoradsklienten
Om du har skapat din flexibla server med hjälp av privat åtkomst (VNet-integrering) måste du ansluta till servern från en resurs i samma virtuella nätverk som servern. Du kan skapa en virtuell dator och lägga till den i det virtuella nätverket som skapats med din flexibla server. Läs mer i dokumentationen om att konfigurera privat åtkomst.
Om du har skapat din flexibla server 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. Stegvisa anvisningar finns i dokumentationen om att skapa eller hantera brandväggsregler.
Du kan använda antingenmysql.exe eller MySQL Workbench för att ansluta till servern från din lokala miljö. Azure Database for MySQL Flexible Server stöder anslutning av klientprogram till MySQL-tjänsten med hjälp av Transport Layer Security (TLS), tidigare kallat Secure Sockets Layer (SSL). TLS är ett branschstandardprotokoll som säkerställer krypterade nätverksanslutningar mellan databasservern och klientprogram, så att du kan följa efterlevnadskraven. Om du vill ansluta till din flexibla MySQL-server måste du ladda ned det offentliga SSL-certifikatet för verifiering av certifikatutfärdare. Mer information om hur du ansluter med krypterade anslutningar eller inaktiverar SSL finns i dokumentationen Anslut till Azure Database for MySQL – flexibel server med krypterade anslutningar.
I följande exempel visas hur du ansluter till din flexibla server med hjälp av kommandoradsgränssnittet mysql. Du installerar först mysql-kommandoraden om den inte redan är installerad. Du laddar ned DigiCertGlobalRootCA-certifikatet som krävs för SSL-anslutningar. Använd inställningen --ssl-mode=REQUIRED connection string för att framtvinga TLS/SSL-certifikatverifiering. Skicka den lokala certifikatfilens sökväg till parametern --ssl-ca. Ersätt värden med det faktiska servernamnet och lösenordet.
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 server med hjälp av offentlig åtkomst kan du också använda Azure Cloud Shell för att ansluta till din flexibla server med hjälp av förinstallerad mysql-klient enligt nedan:
För att kunna använda Azure Cloud Shell för att ansluta till din flexibla server måste du tillåta nätverksåtkomst från Azure Cloud Shell till din flexibla server. För att uppnå detta kan du gå till bladet Nätverk på Azure Portal för din flexibla MySQL-server och markera kryssrutan under brandväggsavsnittet "Tillåt offentlig åtkomst från alla Azure-tjänster i Azure till den här servern" enligt skärmbilden nedan och klicka på Spara för att spara inställningen.
Anteckning
Kontrollera att Tillåt offentlig åtkomst från alla Azure-tjänster i Azure till den här servern endast ska användas för utveckling eller testning. Den konfigurerar brandväggen för att tillåta anslutningar från IP-adresser som allokerats till valfri Azure-tjänst eller -tillgång, inklusive anslutningar från prenumerationer för andra kunder.
Klicka på Prova för att starta Azure Cloud Shell och använd följande kommandon för att ansluta till din flexibla server. Använd servernamnet, användarnamnet och lösenordet 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 server med Azure Cloud Shell måste du använda parametern --ssl=true och inte --ssl-mode=REQUIRED. Den primära orsaken är Azure Cloud Shell levereras med förinstallerad mysql.exe-klient från MariaDB-distribution som kräver parametern --ssl medan mysql-klienten från Oracle-distributionen kräver parametern --ssl-mode.
Om du ser följande felmeddelande när du ansluter till din flexibla server efter kommandot tidigare missade du att ange brandväggsregeln med hjälp av "Tillåt offentlig åtkomst från alla Azure-tjänster i Azure till den här servern" som nämndes tidigare, eller så sparas inte alternativet. Försök att konfigurera brandväggen igen och försök igen.
FEL 2002 (HY000): Det går inte att ansluta till MySQL-servern <servername> på (115)
Rensa resurser
Om du inte behöver de här resurserna för en annan snabbstart/självstudie kan du ta bort dem genom att utföra följande kommando:
az group delete --name myresourcegroup
Om du bara vill ta bort den nyligen skapade servern kan du köra az mysql server delete kommandot .
az mysql flexible-server delete --resource-group myresourcegroup --name mydemoserver
Nästa steg
Anslut och frågamed Azure CLI Anslut till Azure Database for MySQL – flexibel server med krypterade anslutningar Skapa en PHP-webbapp (Laravel) med MySQL