Sdílet prostřednictvím


Kurz: Návrh služby Azure Database for MySQL pomocí PowerShellu

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 se naučíte pomocí PowerShellu a dalších nástrojů:

  • 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

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Pokud se rozhodnete používat PowerShell místně, musíte nainstalovat modul Az PowerShell a připojit se k účtu Azure pomocí rutiny Connect-AzAccount . Další informace o instalaci modulu Az PowerShell najdete v tématu Instalace Azure PowerShellu.

Důležité

Modul Az.MySql PowerShell je ve verzi Preview, musíte ho nainstalovat odděleně od modulu Az PowerShellu pomocí následujícího příkazu: Install-Module -Name Az.MySql -AllowPrerelease Jakmile bude modul Az.MySql PowerShell obecně dostupný, stane se součástí budoucích vydaných verzí modulu Az PowerShellu a bude nativně dostupný z Azure Cloud Shellu.

Pokud používáte službu Azure Database for MySQL poprvé, musíte zaregistrovat poskytovatele prostředků Microsoft.DBforMySQL .

Register-AzResourceProvider -ProviderNamespace Microsoft.DBforMySQL

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Snímek obrazovky znázorňující příklad možnosti Vyzkoušet pro Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Tlačítko pro spuštění Azure Cloud Shellu
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Snímek obrazovky znázorňující tlačítko Cloud Shell na webu Azure Portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Pokud máte více předplatných Azure, zvolte příslušné předplatné, ve kterém se mají prostředky fakturovat. Pomocí rutiny Set-AzContext vyberte konkrétní ID předplatného.

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků Azure pomocí rutiny New-AzResourceGroup . Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure jako skupina.

Následující příklad vytvoří skupinu prostředků myresourcegroup v oblasti USA – západ.

New-AzResourceGroup -Name myresourcegroup -Location westus

Vytvoření serveru Azure Database for MySQL

Pomocí rutiny New-AzMySqlServer vytvořte server Azure Database for MySQL. 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 MySQL v oblasti USA – západ s názvem mydemoserver ve skupině prostředků myresourcegroup s přihlášením správce serveru myadmin. Jedná se o server Gen 5 v cenové úrovni pro obecné účely s povolenými 2 virtuálními jádry a geograficky redundantními zálohami. Zdokumentujte heslo použité v prvním řádku příkladu, protože se jedná o heslo pro účet správce serveru MySQL.

Tip

Název serveru se mapuje na název DNS a v rámci Azure musí být globálně jedinečný.

$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password

Hodnota parametru SKU se řídí cenami tier_compute-generation_vCores konvence, jak je znázorněno v následujících příkladech.

  • -Sku B_Gen5_1 se mapuje na Basic, Gen 5 a 1 virtuální jádro. Tato možnost je nejmenší dostupná skladová položka.
  • -Sku GP_Gen5_32 se mapuje na úroveň pro obecné účely 5. generace se 32 virtuálními jádry.
  • -Sku MO_Gen5_2 se mapuje na úroveň optimalizovanou pro paměť 5. generace se dvěma virtuálními jádry.

Informace o platných hodnotách skladových položek podle oblastí a úrovní najdete v tématu Cenové úrovně Služby Azure Database for MySQL.

Zvažte použití cenové úrovně Basic, pokud jsou pro vaši úlohu dostatečné výpočetní prostředky a vstupně-výstupní operace.

Důležité

Servery vytvořené v cenové úrovni Basic nelze později škálovat na optimalizováno pro obecné účely nebo paměť a nelze je geograficky replikovat.

Konfigurace pravidla brány firewall

Pomocí této rutiny New-AzMySqlFirewallRule vytvořte pravidlo brány firewall na úrovni serveru Azure Database for MySQL. Pravidlo brány firewall na úrovni serveru umožňuje externí aplikaci, jako je nástroj příkazového mysql řádku nebo aplikace MySQL Workbench, připojit se k serveru přes bránu firewall služby Azure Database for MySQL.

Následující příklad vytvoří pravidlo brány firewall s názvem AllowMyIP , které umožňuje připojení z konkrétní IP adresy 192.168.0.1. Nahraďte IP adresu nebo rozsah IP adres, které odpovídají umístění, ze kterého se připojujete.

New-AzMySqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1

Poznámka:

Připojení ke službě Azure Database for MySQL komunikují přes port 3306. Pokud se pokoušíte připojit z podnikové sítě, odchozí provoz přes port 3306 nemusí být povolený. V tomto scénáři se můžete připojit jenom k serveru, pokud vaše IT oddělení otevře port 3306.

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. K určení informací o připojení použijte následující příklad. Poznamenejte si hodnoty pro FullyQualifiedDomainName a AdministratorLogin.

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName                    AdministratorLogin
------------------------                    ------------------
mydemoserver.mysql.database.azure.com       myadmin

Připojení k serveru pomocí nástroje příkazového řádku mysql

Připojte se k serveru pomocí nástroje příkazového mysql řádku. Pokud chcete stáhnout a nainstalovat nástroj příkazového řádku, přečtěte si téma Stažení komunity MySQL. K předinstalované verzi nástroje příkazového mysql řádku v Azure Cloud Shellu se dostanete také tak , že vyberete tlačítko Vyzkoušet na vzorovém kódu v tomto článku. Dalšími způsoby přístupu ke službě Azure Cloud Shell je vybrat >tlačítko _ na pravém horním panelu nástrojů na webu Azure Portal nebo navštívit shell.azure.com.

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

Vytvořit databázi

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

Server můžete obnovit k určitému bodu v čase. Obnovená data se zkopírují na nový server a stávající server zůstane beze změny. Pokud například dojde k náhodnému vyřazení tabulky, můžete provést obnovení do okamžiku, kdy právě došlo k poklesu. Potom můžete načíst chybějící tabulku a data z obnovené kopie serveru.

K obnovení serveru použijte rutinu PowerShellu Restore-AzMySqlServer .

Spuštění příkazu restore

Server obnovíte spuštěním následujícího příkladu z PowerShellu.

$restorePointInTime = (Get-Date).AddMinutes(-10)
Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Restore-AzMySqlServer -Name mydemoserver-restored -ResourceGroupName myresourcegroup -RestorePointInTime $restorePointInTime -UsePointInTimeRestore

Když obnovíte server k dřívějšímu bodu v čase, vytvoří se nový server. Původní server a jeho databáze ze zadaného bodu v čase se zkopírují na nový server.

Hodnoty umístění a cenové úrovně obnoveného serveru zůstanou stejné jako původní server.

Po dokončení procesu obnovení vyhledejte nový server a ověřte, že se data obnoví podle očekávání. Nový server má stejné přihlašovací jméno a heslo správce serveru, které bylo platné pro existující server v době, kdy bylo obnovení spuštěno. Heslo můžete změnit ze stránky Přehled nového serveru.

Nový server vytvořený během obnovení nemá koncové body služby virtuální sítě, které existovaly na původním serveru. Tato pravidla musí být pro nový server nastavená samostatně. Obnoví se pravidla brány firewall z původního serveru.

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

Pokud prostředky vytvořené v tomto kurzu nejsou potřeba pro další rychlý start nebo kurz, můžete je odstranit spuštěním následujícího příkladu.

Upozornění

Následující příklad odstraní zadanou skupinu prostředků a všechny prostředky obsažené v ní. Pokud prostředky mimo rozsah tohoto kurzu existují v zadané skupině prostředků, odstraní se také.

Remove-AzResourceGroup -Name myresourcegroup

Pokud chcete odstranit pouze server vytvořený v tomto kurzu bez odstranění skupiny prostředků, použijte rutinu Remove-AzMySqlServer .

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Další kroky