Samouczek: aprowiz Azure Database for MySQL serwera przy użyciu Azure Resource Manager szablonu

Interfejs API REST usługi Azure Database for MySQL umożliwia inżynierom DevOps automatyzowanie i integrowanie aprowizacji, konfiguracji i operacji zarządzanych serwerów i baz danych MySQL na platformie Azure. Interfejs API umożliwia tworzenie, wyliczanie i usuwanie serwerów i baz danych MySQL oraz zarządzanie nimi w usłudze Azure Database for MySQL.

Azure Resource Manager korzysta z podstawowego interfejsu API REST do deklarowania i programowania zasobów platformy Azure wymaganych dla wdrożeń na dużą skalę, zgodnie z koncepcją infrastruktury jako kodu. Szablon parametryzuje nazwę zasobu platformy Azure, jednostkę SKU, sieć, konfigurację zapory i ustawienia, co pozwala na jego wielokrotne używanie po jednorazowym utworzeniu. Szablony usługi Azure Resource Manager można łatwo utworzyć za pomocą witryny Azure Portal lub programu Visual Studio Code. Umożliwiają one tworzenie pakietów aplikacji i standaryzację oraz automatyzację wdrażania, a operacje te można zintegrować w potoku ciągłej integracji/ciągłego wdrażania metodyki DevOps. Jeśli na przykład szukasz sposobu szybkiego wdrożenia aplikacji internetowej z wewnętrzną bazą danych Azure Database for MySQL, możesz zrealizować wdrożenie typu end-to-end za pomocą tego szablonu szybkiego startu z galerii GitHub.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności, używając szablonu usługi Azure Resource Manager i innych narzędzi:

  • Tworzenie serwera usługi Azure Database for MySQL za pomocą punktu końcowego usługi sieci wirtualnej przy użyciu szablonu usługi Azure Resource Manager
  • Tworzenie bazy danych za pomocą narzędzia wiersza polecenia mysql
  • Ładowanie przykładowych danych
  • Zapytania o dane
  • Aktualizowanie danych

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Tworzenie serwera usługi Azure Database for MySQL za pomocą punktu końcowego usługi sieci wirtualnej przy użyciu szablonu usługi Azure Resource Manager

Aby uzyskać odwołanie do szablonu JSON dla serwera usługi Azure Database for MySQL, przejdź do odwołania do szablonu serwerów Microsoft.DBforMySQL. Poniżej przedstawiono przykładowy szablon JSON, który może służyć do tworzenia nowego serwera z działającą usługą Azure Database for MySQL przy użyciu punktu końcowego usługi sieci wirtualnej.

{
  "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'))]"
      ]
    }
  ]
}

W tym żądaniu należy dostosować następujące wartości:

  • name — podaj nazwę serwera MySQL (bez nazwy domeny).
  • location — określ prawidłowy region centrum danych platformy Azure dla serwera MySQL. Na przykład westus2.
  • properties/version — określ wersję serwera MySQL, która ma zostać wdrożona. Na przykład 5.6 lub 5.7.
  • properties/administratorLogin — podaj identyfikator logowania administratora MySQL dla serwera. Nazwą logowania administratora nie może być azure_superuser, admin, administrator, root, guest ani public.
  • properties/administratorLoginPassword — podaj hasło dla określonego powyżej administratora MySQL.
  • properties/sslEnforcement — określ wartość Enabled/Disabled (Włączone/wyłączone), aby włączyć/wyłączyć opcję sslEnforcement.
  • storageProfile/storageMB — określ w megabajtach maksymalny rozmiar aprowizowanego magazynu wymagany przez serwer. Na przykład 5120.
  • storageProfile/backupRetentionDays — określ żądany okres przechowywania kopii zapasowych w dniach. Na przykład 7.
  • storageProfile/geoRedundantBackup — określ wartość Enabled/Disabled (Włączone/wyłączone) w zależności od wymagań Geo-DR.
  • sku/tier — określ warstwę Basic, GeneralPurpose lub MemoryOptimized dla wdrożenia.
  • sku/capacity — określ ilość rdzeni wirtualnych. Możliwe wartości to 2, 4, 8, 16, 32 lub 64.
  • sku/family - Określ gen5, aby wybrać generację sprzętu do wdrożenia serwera.
  • sku/name — określ wartość TierPrefix_family_capacity. Na przykład B_Gen5_1, GP_Gen5_16, MO_Gen5_32. Aby ustalić prawidłowe wartości dla poszczególnych regionów i warstw, zapoznaj się z dokumentacją warstw cenowych.
  • resources/properties/virtualNetworkSubnetId — określ identyfikator platformy Azure dla podsieci w sieci wirtualnej, w której ma zostać umieszczony serwer Azure MySQL.
  • tags(optional) — określ opcjonalne tagi, stanowiące pary klucz-wartość, z których można korzystać do kategoryzowania zasobów w celach rozliczeniowych itd.

Jeśli szukasz sposobu utworzenia szablonu usługi Azure Resource Manager do automatyzacji wdrożeń usługi Azure Database for MySQL dla organizacji, zalecane jest rozpoczęcie od przykładowego szablonu usługi Azure Resource Manager w galerii GitHub przewodników Szybki start platformy Azure i budowanie na jego podstawie.

Jeśli nie masz doświadczenia z szablonami usługi Azure Resource Manager i chcesz je wypróbować, możesz rozpocząć, wykonując następujące czynności:

  • Sklonuj lub pobierz przykładowy szablon usługi Azure Resource Manager z galerii przewodników Szybki start platformy Azure.
  • Zmodyfikuj plik azuredeploy.parameters.json, aby zaktualizować wartości parametrów w oparciu o swoje preferencje, a następnie zapisz plik.
  • Skorzystaj z interfejsu wiersza polecenia platformy Azure w celu utworzenia serwera MySQL na platformie Azure za pomocą następujących poleceń

Aby uruchamiać bloki kodu z tego samouczka, możesz skorzystać z usługi Azure Cloud Shell w przeglądarce lub zainstalować na swoim komputerze interfejs wiersza polecenia platformy Azure.

Używanie usługi Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod z tego artykułu bez konieczności instalowania narzędzi w środowisku lokalnym, można użyć wstępnie zainstalowanych poleceń środowiska Cloud Shell.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Wybranie pozycji Wypróbuj nie spowoduje automatycznego skopiowania kodu do środowiska Cloud Shell. Przykład funkcji Wypróbuj w środowisku Azure Cloud Shell
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Uruchamianie środowiska Cloud Shell w nowym oknie
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod z tego artykułu w środowisku Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu, aby skopiować kod.

  3. Wklej kod w sesji Cloud Shell, naciskając klawisze Ctrl+Shift+V w systemach Windows i Linux lub klawisze Cmd+Shift+V w systemie macOS.

  4. Naciśnij klawisz Enter, aby uruchomić kod.

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

Pobieranie informacji o połączeniu

Aby nawiązać połączenie z serwerem, musisz podać informacje o hoście i poświadczenia dostępu.

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

Wynik jest w formacie JSON. Zanotuj wartości fullyQualifiedDomainName i 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"
}

Nawiązywanie połączenia z serwerem za pomocą narzędzia wiersza polecenia mysql

Nawiąż połączenie z serwerem usługi Azure Database for MySQL za pomocą narzędzia wiersza polecenia mysql. W tym przykładzie polecenie to:

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

Tworzenie pustej bazy danych

Po nawiązaniu połączenia z serwerem utwórz pustą bazę danych.

mysql> CREATE DATABASE mysampledb;

W wierszu polecenia uruchom poniższe polecenie, aby przełączyć połączenie na tę nowo utworzoną bazę danych:

mysql> USE mysampledb;

Tworzenie tabel w bazie danych

Teraz, gdy wiesz, jak nawiązać połączenie z bazą danych Azure Database for MySQL, wykonaj niektóre podstawowe zadania.

Najpierw utwórz tabelę i załaduj do niej dane. Utwórz tabelę z informacjami o spisie.

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

Ładowanie danych do tabel

Teraz, gdy masz tabelę, wstaw do niej dane. W otwartym oknie wiersza polecenia uruchom następujące zapytanie, aby wstawić wiersze danych.

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

W utworzonej wcześniej tabeli masz teraz dwa wiersze przykładowych danych.

Wykonywanie zapytania względem danych w tabelach i aktualizowanie tych danych

Wykonaj następujące zapytanie, aby pobrać informacje z tabeli bazy danych.

SELECT * FROM inventory;

Możesz także zaktualizować dane w tabelach.

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

Wiersz jest aktualizowany podczas pobierania danych.

SELECT * FROM inventory;

Czyszczenie zasobów

Gdy grupa zasobów nie będzie już potrzebna, usuń ją, co spowoduje usunięcie zasobów w grupie zasobów.

  1. W polu Azure Portalwyszukaj i wybierz pozycję Grupy zasobów.

  2. Na liście grupy zasobów wybierz nazwę grupy zasobów.

  3. Na stronie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.

  4. W oknie dialogowym potwierdzenia wpisz nazwę grupy zasobów, a następnie wybierz pozycję Usuń.

Następne kroki

W niniejszym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Tworzenie serwera usługi Azure Database for MySQL za pomocą punktu końcowego usługi sieci wirtualnej przy użyciu szablonu usługi Azure Resource Manager
  • Tworzenie bazy danych za pomocą narzędzia wiersza polecenia mysql
  • Ładowanie przykładowych danych
  • Zapytania o dane
  • Aktualizowanie danych