Kurz: Návrh databáze Azure Database for MySQL pomocí Azure CLI

PLATÍ PRO: Jednoúčelový server Azure Database for MySQL

Důležité

Jednoúčelový server Azure Database for MySQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for MySQL. Další informace o migraci na flexibilní server Azure Database for MySQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for MySQL?

Azure Database for MySQL je relační databázová služba v cloudu Microsoftu založená na databázovém stroji MySQL Community Edition. V tomto kurzu použijete Azure CLI (rozhraní příkazového řádku) a další nástroje k získání informací o těchto tématech:

  • Vytvoření Azure Database for MySQL
  • Konfigurace brány firewall serveru
  • Použití nástroje pro příkazový řádek mysql k vytvoření databáze
  • Načtení ukázkových dat
  • Zadávání dotazů na data
  • Aktualizace dat
  • Obnovení dat

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Požadavky

  • Tento článek vyžaduje verzi 2.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Pokud máte více předplatných, vyberte odpovídající předplatné, ve kterém tento prostředek existuje nebo ve kterém se fakturuje. Ve svém účtu vyberte pomocí příkazu az account set určité ID předplatného.

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

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků Azure pomocí příkazu az group create. Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky jako skupina.

Následující příklad vytvoří skupinu prostředků s názvem myresourcegroup v umístění westus.

az group create --name myresourcegroup --location westus

Vytvoření serveru Azure Database for MySQL

Vytvořte server Azure Database for MySQL pomocí příkazu az mysql server create. Server může spravovat více databází. Obvykle se pro jednotlivé projekty nebo uživatele používají samostatné databáze.

Následující příklad vytvoří server Azure Database for MySQL, jehož umístěním je westus ve skupině prostředků myresourcegroup s názvem mydemoserver. Server má uživatele s názvem myadminsprávce . Jedná se o server pro obecné účely Gen 5 se 2 virtuálními jádry. Nahraďte položku <server_admin_password> vlastní hodnotou.

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

Hodnota parametru sku-name se řídí konvencí {pricing tier}_{compute generation}_{vCores} jako v následujících příkladech:

  • --sku-name B_Gen5_2 se mapuje na basic, Gen 5 a 2 virtuální jádra.
  • --sku-name GP_Gen5_32 se mapuje na úroveň pro obecné účely 5. generace se 32 virtuálními jádry.
  • --sku-name MO_Gen5_2 se mapuje na úroveň optimalizovanou pro paměť 5. generace se dvěma virtuálními jádry.

Vysvětlení platných hodnot pro jednotlivé oblasti a úrovně najdete v dokumentaci k cenovým úrovním.

Důležité

Zde zadané přihlašovací jméno a heslo správce serveru se vyžadují pro přihlášení k serveru a jeho databázím dále v tomto rychlém startu. Tyto informace si zapamatujte nebo poznamenejte pro pozdější použití.

Konfigurace pravidla brány firewall

Pomocí příkazu az mysql server firewall-rule create vytvořte pravidlo brány firewall na úrovni serveru pro Azure Database for MySQL. Pravidlo brány firewall na úrovni serveru umožňuje externí aplikaci, jako je například nástroj pro příkazový řádek mysql nebo MySQL Workbench, aby se k vašemu serveru připojila prostřednictvím brány firewall služby Azure MySQL.

Následující příklad vytvoří pravidlo brány firewall AllowMyIP, které povolí připojení z konkrétní IP adresy 192.168.0.1. Nahraďte ji za IP adresu nebo rozsah IP adres, které odpovídají umístění, ze kterého se budete připojovat.

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

Získání informací o připojení

Pokud se chcete připojit k serveru, budete muset zadat informace o hostiteli a přihlašovací údaje pro přístup.

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

Výsledek je ve formátu JSON. Poznamenejte si fullyQualifiedDomainName a 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"
}

Připojení k serveru pomocí mysql

Pro navázání připojení k serveru Azure Database for MySQL použijte nástroj pro příkazový řádek mysql. V tomto příkladu se použije příkaz:

mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p

Vytvoření prázdné databáze

Po připojení k serveru vytvořte prázdnou databázi.

mysql> CREATE DATABASE mysampledb;

Na příkazovém řádku spusťte následující příkaz pro přepnutí připojení na tuto nově vytvořenou databázi:

mysql> USE mysampledb;

Vytvoření tabulek v databázi

Teď, když už víte, jak se připojit k databázi Azure Database for MySQL, dokončíte některé základní úlohy.

Nejdřív vytvoříte tabulku a načtete do ní data. Pojďme vytvořit tabulku, ve které jsou uložené informace o inventáři.

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

Načtení dat do tabulek

Teď máte vytvořenou tabulku a můžete do ní vložit data. V otevřeném okně příkazového řádku spusťte následující dotaz, který vloží několik řádků dat.

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

Tabulka, kterou jste vytvořili dříve, teď obsahuje dva řádky ukázkových dat.

Dotazování na data a aktualizace dat v tabulkách

Spuštěním následujícího příkazu načtete informace z databázové tabulky.

SELECT * FROM inventory;

Data v tabulce můžete také aktualizovat.

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

Při načtení dat se řádek příslušným způsobem aktualizuje.

SELECT * FROM inventory;

Obnovení databáze k dřívějšímu bodu v čase

Představte si, že jste tuto tabulku omylem odstranili. Taková situace se těžko napravuje. Azure Database for MySQL umožňuje vrátit se do libovolného bodu v čase během posledních až 35 dnů a obnovit tento bod v čase na nový server. Tento nový server můžete použít k obnovení odstraněných dat. Následující kroky obnoví ukázkový server do bodu před přidáním tabulky.

K obnovení budete potřebovat následující informace:

  • Bod obnovení: Vyberte bod v čase, který nastal dřív, než došlo ke změně serveru. Musí být větší nebo rovný hodnotě Nejstarší záloha zdrojové databáze.
  • Cílový server: Zadejte nový název serveru, na který chcete provést obnovení.
  • Zdrojový server: Zadejte název serveru, ze kterého se má obnovení provést.
  • Umístění: Oblast nemůžete vybrat, ve výchozím nastavení je stejná jako u zdrojového serveru.
az mysql server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver

Příkaz az mysql server restore potřebuje následující parametry:

Nastavení Navrhovaná hodnota Popis
resource-group  myresourcegroup  Skupina prostředků, ve které se nachází zdrojový server. 
name mydemoserver-restored Název nového serveru, který se vytvoří příkazem restore.
restore-point-in-time 2017-04-13T13:59:00Z Vyberte bod v čase, ke kterému se má provést obnovení. Tato datum a čas musí být v rámci doby uchovávání záloh zdrojového serveru. Použijte formát data a času ISO8601. Můžete použít například své místní časové pásmo, třeba 2017-04-13T05:59:00-08:00, nebo formát UTC Zulu 2017-04-13T13:59:00Z.
source-server mydemoserver Název nebo ID zdrojového serveru, ze kterého se má provést obnovení.

Obnovení serveru k bodu v čase vytvoří nový server jako kopii původního serveru k zadanému bodu v čase. Umístění a cenová úroveň obnoveného serveru jsou stejné jako u zdrojového serveru.

Příkaz je synchronní a vrátí se po obnovení serveru. Po dokončení obnovení vyhledejte nově vytvořený server. Ověřte, že se data obnovila podle očekávání.

Vyčištění prostředků

Pokud tyto prostředky nepotřebujete pro další rychlý start nebo kurz, můžete je pomocí následujícího příkazu odstranit:

az group delete --name myresourcegroup

Pokud chcete odstranit jenom nově vytvořený server, můžete spustit příkaz az mysql server delete.

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

Další kroky

V tomto kurzu jste se naučili:

  • Vytvoření serveru Azure Database for MySQL
  • Konfigurace brány firewall serveru
  • Vytvoření databáze pomocí nástroje pro příkazový řádek mysql
  • Načtení ukázkových dat
  • Zadávání dotazů na data
  • Aktualizace dat
  • Obnovení dat