Dela via


Självstudie: Utforma Azure Database for MySQL med Azure CLI

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 är en relationsdatabastjänst i Microsoft-molnet som är baserad på databasmotorn MySQL Community Edition. I den här självstudien kommer du att använda Azure CLI (kommandoradsgränssnittet) och andra verktyg till följande:

  • Skapa en Azure Database for MySQL
  • Konfigurera serverbrandväggen
  • Använda kommandoradsverktyget mysql till att skapa en databas
  • Läsa in exempeldata
  • Fråga efter data
  • Uppdatera data
  • Återställa data

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

Förutsättningar

  • Den här artikeln kräver version 2.0 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Om du har flera prenumerationer väljer du en lämplig prenumerationen där resursen ligger eller faktureras. Välj en specifik prenumerations-ID under ditt konto med hjälp av kommandot az account set.

az account set --subscription 00000000-0000-0000-0000-000000000000

Skapa en resursgrupp

Skapa en Azure-resursgrupp med kommandot az group create. En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras som en grupp.

I följande exempel skapas en resursgrupp med namnet myresourcegroup på platsen westus.

az group create --name myresourcegroup --location westus

Skapa en Azure Database för MySQL-server

Skapa en Azure Database for MySQL-server med kommandot az mysql server create. En server kan hantera flera databaser. Normalt används en separat databas för varje projekt eller för varje användare.

I följande exempel skapas en Azure Database för MySQL-server i westus i resursgruppen myresourcegroup med namnet mydemoserver. Servern har en administratörsanvändare med namnet myadmin. Det här är 5:e generationens server för generell användning med 2 virtuella kärnor. Ersätt <server_admin_password> med ditt eget värde.

az mysql server create --resource-group myresourcegroup --name mydemoserver --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 5.7

Parametervärdet sku-name följer konventionen {pricing tier}_{compute generation}_{vCores} som i exemplen nedan:

  • --sku-name B_Gen5_2 mappar till Basic, Gen 5 och 2 virtuella kärnor.
  • --sku-name GP_Gen5_32 mappar till generell användning, Gen 5 och 32 vCores.
  • --sku-name MO_Gen5_2 mappar till minnesoptimerad, Gen 5 och 2 virtuella kärnor.

Se dokumentationen om prisnivåer för mer information om giltiga värden per region och nivå.

Viktigt!

Det användarnamn och lösenord för serveradministration du anger här krävs för inloggning på servern och databaserna senare i den här snabbstarten. Kom ihåg eller skriv ned den här informationen så att du kan använda den senare.

Konfigurera brandväggsregeln

Skapa en Azure Database för MySQL-brandväggsregel på servernivå med kommandot az mysql server firewall-rule create. En brandväggsregel på servernivå gör att externa program, som kommandoradsverktyget mysql eller MySQL Workbench, kan ansluta till servern via Azure MySQL-tjänstens brandvägg.

I följande exempel skapas en brandväggsregel som kallas AllowMyIP som tillåter anslutningar från den specifika IP-adressen 192.168.0.1. Ersätt en IP-adress eller omfång av IP-adresser som motsvarar platsen som du kommer att ansluta från.

az mysql server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

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": "westus",
  "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.mysql.database.azure.com -u myadmin@mydemoserver -p

Skapa en tom databas

När du är ansluten till servern ska du skapa 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;

Återställa en databas till en tidigare tidpunkt

Anta att du har tagit bort den här tabellen av misstag. Det kan du lätt åtgärda genom återställning. Med Azure Database for MySQL kan du gå tillbaka till valfri tidpunkt under de senaste 35 dagarna och återställa tidpunkten på en ny server. Du kan använda den nya servern till att återställa dina data. Följande steg återställer exempelservern till en tidpunkt innan tabellen lades till.

Du behöver följande information vid återställningen:

  • Återställningspunkt: Välj en tidpunkt innan servern ändrades. Måste vara senare än eller lika med källdatabasens äldsta säkerhetskopiering.
  • Målserver: Ange ett nytt servernamn som du vill återställa till
  • Källserver: Ange namnet på den server du vill återställa från.
  • Plats: Du kan inte välja region, som standard är det samma som källservern
az mysql server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver

Följande parametrar behövs för kommandot az mysql server restore:

Inställning Föreslaget värde Beskrivning
resource-group  myresourcegroup  Resursgruppen där källservern finns. 
name mydemoserver-restored Namnet på den nya server som skapas med kommandot restore.
restore-point-in-time 2017-04-13T13:59:00Z Välj en tidpunkt att återställa till. Datumet och tiden måste finnas inom källserverns kvarhållningsperiod för säkerhetskopiering. Använd datum- och tidsformatet ISO8601. Du kan använda din egen lokala tidszon som t.ex. 2017-04-13T05:59:00-08:00, eller använda UTC Zulu-formatet 2017-04-13T13:59:00Z.
source-server mydemoserver Namn eller ID på källservern som återställningen görs från.

När du återställer en server till en tidpunkt så skapas en ny server. Den kopieras som den ursprungliga servern vid den tidpunkt du anger. Plats- och prisnivåvärden för den återställda servern är samma som för källservern.

Kommandot är synkront och återgår när servern har återställts. När återställningen är klar letar du upp den nya server som skapades. Kontrollera att dina data har återställts som förväntat.

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 endast vill ta bort den nyss skapade servern kan du köra kommandot az mysql server delete.

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

Nästa steg

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

  • Skapa en Azure Database för MySQL-server
  • Konfigurera serverbrandväggen
  • Använda kommandoradsverktyget mysql till att skapa en databas
  • Läsa in exempeldata
  • Fråga efter data
  • Uppdatera data
  • Återställa data