Självstudie: Etablera en Azure Database for MySQL-server med hjälp av Azure Resource Manager-mall

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

Viktigt!

Azure Database for MySQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till en flexibel Azure Database for MySQL-server. Mer information om hur du migrerar till en flexibel Azure Database for MySQL-server finns i Vad händer med Azure Database for MySQL – enskild server?

Azure Database for MySQL REST API låter DevOps-tekniker automatisera och integrera etablering, konfiguration och drift för hanterade MySQL-servrar och databaser i Azure. API:et låter dig skapa, uppräkna, hantera och ta bort MySQL-servrar och databaser på Azure Database for MySQL-tjänsten.

Azure Resource Manager använder det underliggande REST-API:et för att deklarera och programmera de Azure-resurser som krävs för distributioner i stor skala, i linje med infrastrukturen som ett kodkoncept. Mallen parameteriserar Azure-resursens namn, SKU, nätverk, brandväggskonfiguration och inställningar, vilket låter den skapas en gång och användas flera gånger. Azure Resource Manager-mallar kan enkelt skapas med Azure-portalen eller Visual Studio Code. De möjliggör programpaketering, standardisering och distributionsautomatisering som kan integreras i DevOps CI/CD-pipelinen. Om du till exempel snabbt vill distribuera en Webbapp med en Azure Database for MySQL-serverdel så kan du utföra distributionen från början till slut med den här Snabbstartsmallen från GitHub-galleriet.

I den här självstudien ska du använda Azure Resource Manager-mallar och andra verktyg för att lära dig:

  • Skapa en Azure Database for MySQL-server med VNet-tjänstslutpunkt med en Azure Resource Manager-mall
  • Använda kommandoradsverktyget mysql till att skapa en databas
  • Läsa in exempeldata
  • Fråga efter data
  • Uppdatera data

Förutsättningar

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto innan du börjar.

Skapa en Azure Database for MySQL-server med VNet-tjänstslutpunkt med en Azure Resource Manager-mall

JSON-mallreferensen för en Azure Database for MySQL-server finns under mallreferensen för Microsoft.DBforMySQL-servrar. Nedan visas JSON-exempelmallen som kan användas för att skapa en ny server som kör Azure Database for MySQL med VNet-tjänstslutpunkt.

{
  "apiVersion": "2017-12-01",
  "type": "Microsoft.DBforMySQL/servers",
  "name": "string",
  "location": "string",
  "tags": "string",
  "properties": {
    "version": "string",
    "sslEnforcement": "string",
    "administratorLogin": "string",
    "administratorLoginPassword": "string",
    "storageProfile": {
      "storageMB": "string",
      "backupRetentionDays": "string",
      "geoRedundantBackup": "string"
    }
  },
  "sku": {
    "name": "string",
    "tier": "string",
    "capacity": "string",
    "family": "string"
  },
  "resources": [
    {
      "name": "AllowSubnet",
      "type": "virtualNetworkRules",
      "apiVersion": "2017-12-01",
      "properties": {
        "virtualNetworkSubnetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName'))]",
        "ignoreMissingVnetServiceEndpoint": true
      },
      "dependsOn": [
        "[concat('Microsoft.DBforMySQL/servers/', parameters('serverName'))]"
      ]
    }
  ]
}

I den här begäran är de värden som måste anpassas:

  • name – Ange namnet på din MySQL-server (utan domännamn).
  • location – Ange en giltig Azure-datacenterregion för din MySQL-server. Till exempel westus2.
  • properties/version – Ange den MySQL-serverversion som ska distribueras. Till exempel 5.6 eller 5.7.
  • properties/administratorLogin – Ange MySQL administratörsinloggningen till servern. Inloggningsnamnet för administratören får inte vara azure_superuser, admin, administrator, root, guest eller public.
  • properties/administratorLoginPassword – Ange lösenordet för den MySQL-administratörsanvändare som anges ovan.
  • properties/sslEnforcement – Ange aktiverat/inaktiverat för att aktivera/inaktivera sslEnforcement.
  • storageProfile/storageMB – Ange den högsta allokerade lagringsstorleken som krävs för servern i megabyte. Till exempel 5120.
  • storageProfile/backupRetentionDays – Ange den önskade kvarhållningsperioden för säkerhetskopior i dagar. Till exempel 7.
  • storageProfile/geoRedundantBackup – Ange aktiverat/inaktiverat beroende på kraven för geohaveriberedskap.
  • sku/tier – Ange nivån Basic, GeneralPurpose eller MemoryOptimized för distributionen.
  • sku/capacity – Ange vCore-kapacitet. Möjliga värden är 2, 4, 8, 16, 32 eller 64.
  • sku/family – Ange Gen5 för att välja maskinvarugenerering för serverdistribution.
  • sku/name – Ange TierPrefix_family_capacity. Till exempel B_Gen5_1 GP_Gen5_16 MO_Gen5_32. Se dokumentationen prissättningsnivåer för att se giltiga värden per region och nivå.
  • resources/properties/virtualNetworkSubnetId – Ange Azure-identifieraren för undernätet i det virtuella nätverket där Azure MySQL-servern ska placeras.
  • tags(optional) – Ange valfria taggar är nyckelvärdepar som du använder för att kategorisera resurser för fakturering osv.

Om du vill skapa en Azure Resource Manager-mall för att automatisera Azure Database for MySQL-distributioner för din organisation så är rekommendationen att börja från exemplet Azure Resource Manager-mall i Azure-snabbstartsgalleriet i GitHub först och bygga på den.

Om du är nybörjare på Azure Resource Manager-mallar och vill prova så kan du starta genom att följa dessa steg:

  • Klona eller hämta exemplet Azure Resource Manager-mall från Azure-snabbstartsgalleriet.
  • Ändra azuredeploy.parameters.json om du vill uppdatera parametervärdena baserat på dina inställningar och spara filen.
  • Använd Azure CLI för att skapa Azure MySQL-servern med hjälp av följande kommandon

Du kan använda Azure Cloud Shell i webbläsaren eller installera Azure CLI på din egen dator för att köra kodblocken i den här självstudien.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

az login
az group create -n ExampleResourceGroup  -l "West US2"
az deployment group create -g $ ExampleResourceGroup   --template-file $ {templateloc} --parameters $ {parametersloc}

Hämta anslutningsinformationen

För att ansluta till servern måste du ange värddatorinformationen och autentiseringsuppgifterna.

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

Resultatet är i JSON-format. Anteckna fullyQualifiedDomainName och administratorLogin.

{
  "administratorLogin": "myadmin",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
  "location": "westus2",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
 "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/servers",
  "userVisibleState": "Ready",
  "version": "5.7"
}

Anslut till servern med mysql

Använd kommandoradsverktyget mysql till att upprätta en anslutning till din Azure Database for MySQL-server. I det här exemplet är kommandot:

mysql -h mydemoserver.database.windows.net -u myadmin@mydemoserver -p

Skapa en tom databas

När du är ansluten till servern skapar du en tom databas.

mysql> CREATE DATABASE mysampledb;

Kör följande kommando från prompten för att växla anslutningen till databasen du skapade nyss:

mysql> USE mysampledb;

Skapa tabeller i databasen

Nu när du vet hur du ansluter till Azure Database for MySQL-databasen kan du utföra några grundläggande uppgifter.

Skapa först en tabell och läs in lite data till den. Vi skapar en tabell som innehåller lagerinformation.

CREATE TABLE inventory (
  id serial PRIMARY KEY, 
  name VARCHAR(50), 
  quantity INTEGER
);

Läs in data till tabellerna

Nu när du har en tabell kan du infoga lite data i den. Kör följande fråga i den öppna kommandotolken så at du löser in några datarader.

INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150); 
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);

Nu har du två rader med exempeldata i tabellen du skapade tidigare.

Ställ frågor mot och uppdatera data i tabellerna

Kör följande frågor för att hämta information från databastabellen.

SELECT * FROM inventory;

Du kan även uppdatera data i tabellerna.

UPDATE inventory SET quantity = 200 WHERE name = 'banana';

Raden uppdateras när du hämtar data.

SELECT * FROM inventory;

Rensa resurser

När den inte längre behövs tar du bort resursgruppen, som tar bort resurserna i resursgruppen.

  1. I Azure-portalen söker du efter och väljer Resursgrupper.

  2. I resursgruppslistan väljer du namnet på resursgruppen.

  3. På sidan Översikt för resursgruppen väljer du Ta bort resursgrupp.

  4. I bekräftelsedialogrutan skriver du namnet på resursgruppen och väljer sedan Ta bort.

Nästa steg

I de här självstudierna lärde du dig att:

  • Skapa en Azure Database for MySQL-server med VNet-tjänstslutpunkt med en Azure Resource Manager-mall
  • Använda kommandoradsverktyget mysql till att skapa en databas
  • Läsa in exempeldata
  • Fråga efter data
  • Uppdatera data