Rychlý start: Vytvoření instance flexibilního serveru Azure Database for MySQL pomocí Azure CLI

PLATÍ PRO: Flexibilní server Azure Database for MySQL

V tomto rychlém startu se dozvíte, jak pomocí příkazů Azure CLI v Azure Cloud Shellu vytvořit instanci flexibilního serveru Azure Database for MySQL během pěti minut.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete. V současné době můžete s bezplatným účtem Azure vyzkoušet flexibilní server Azure Database for MySQL zdarma po dobu 12 měsíců. Další informace najdete v tématu Bezplatné vyzkoušení flexibilního serveru Azure Database for MySQL.

Otevření Azure Cloud Shellu

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít ke spuštění kroků popsaných v tomto článku. V Cloud Shellu jsou běžné nástroje Azure předinstalované a nakonfigurované tak, aby se používaly s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte v pravém horním rohu příkladu kódu možnost Vyzkoušet.

Cloud Shell můžete otevřít také na samostatné kartě prohlížeče tak, že přejdete na https://shell.azure.com/bash. Výběrem možnosti Kopírovat zkopírujte obsah bloku kódu. V Cloud Shellu vložte kód a stisknutím klávesy Enter ho spusťte.

Pokud chcete nainstalovat a používat Azure CLI, tento rychlý start vyžaduje Azure CLI verze 2.0 nebo novější. Pokud chcete najít verzi instalace Azure CLI. , spusťte az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.

Požadavky

Přihlaste se ke svému účtu pomocí příkazu az login . Poznamenejte si id vlastnost. Tato id vlastnost odkazuje na ID předplatného vašeho účtu Azure.

az login

Pomocí příkazu az account set vyberte konkrétní předplatné ve svém účtu Azure. Poznamenejte id si hodnotu z výstupu az login , která se má použít jako hodnota subscription argumentu v příkazu.

Pokud máte více předplatných, vyberte předplatné, ve kterém se má prostředek fakturovat. Pokud chcete získat seznam předplatných, použijte příkaz az account list.

az account set --subscription <subscription ID>

Vytvoření flexibilního serveru Azure Database for MySQL

Pomocí příkazu vytvořte skupinuaz group create prostředků Azure. Pak ve skupině prostředků vytvořte flexibilní server Azure Database for MySQL. Nezapomeňte zadat jedinečný název. Následující příklad vytvoří skupinu prostředků s názvem myresourcegroup v umístění eastus2.

az group create --name myresourcegroup --location eastus2

Pomocí příkazu vytvořte flexibilní server az mysql flexible-server create Azure Database for MySQL. Server může obsahovat více databází. Následující příkaz vytvoří server pomocí výchozích hodnot služby a hodnot z místního kontextu Azure CLI:

az mysql flexible-server create

Vytvořený server má následující atributy:

  • Automaticky vygenerovaný název serveru, uživatelské jméno správce, heslo správce a název skupiny prostředků (pokud ještě není zadaný v místním kontextu) a je ve stejném umístění jako vaše skupina prostředků.
  • Výchozí nastavení služby pro zbývající konfigurace serveru: výpočetní úroveň (burstable), velikost výpočetních prostředků/skladová položka (B1MS), doba uchovávání záloh (sedm dnů) a MySQL verze (5.7).
  • Výchozí metoda připojení je privátní přístup (integrace virtuální sítě) s automaticky vygenerovanou virtuální sítí a podsítí.

Poznámka:

Po vytvoření serveru nejde změnit metodu připojení. Pokud jste například při vytváření serveru vybrali privátní přístup (integrace virtuální sítě), nemůžete po nasazení změnit nastavení na Veřejný přístup (povolené IP adresy ). Důrazně doporučujeme vytvořit server, který má privátní přístup k zabezpečenému přístupu k vašemu serveru pomocí integrace virtuální sítě. Další informace o privátním přístupu najdete v článku o konceptech sítí.

Pokud chcete změnit výchozí hodnoty, podívejte se do referenční dokumentace k Azure CLI, kde najdete úplný seznam konfigurovatelných parametrů Azure CLI.

Vzorový výstup:

Creating Resource Group 'groupXXXXXXXXXX'...
Creating new vnet "serverXXXXXXXXXVNET" in resource group "groupXXXXXXXXXX"...
Creating new subnet "serverXXXXXXXXXSubnet" in resource group "groupXXXXXXXXXX" and delegating it to "Microsoft.DBforMySQL/flexibleServers"...
Creating MySQL Server 'serverXXXXXXXXX' in group 'groupXXXXXXXXXX'...
Your server 'serverXXXXXXXXX' is using SKU 'Standard_B1ms' (Paid Tier). For pricing details, see https://aka.ms/mysql-pricing.
Creating MySQL database 'flexibleserverdb'...
Make a note of your password. If you forget your password, reset the password by running 'az mysql flexible-server update -n serverXXXXXXXXX -g groupXXXXXXXXXX -p <new-password>'.
{
  "connectionString": "server=serverXXXXXXXXX.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=securepasswordstring",
  "databaseName": "flexibleserverdb",
  "host": "serverXXXXXXXXX.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.DBforMySQL/flexibleServers/serverXXXXXXXXX",
  "location": "East US 2",
  "password": "securepasswordstring",
  "resourceGroup": "groupXXXXXXXXXX",
  "skuname": "Standard_B1ms",
  "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/serverXXXXXXXXXVNET/subnets/serverXXXXXXXXXSubnet",
  "username": "secureusername",
  "version": "5.7"
}

Pokud chcete změnit výchozí hodnoty, podívejte se do referenční dokumentace k Azure CLI, kde najdete úplný seznam konfigurovatelných parametrů Azure CLI.

Vytvořit databázi

Pokud jste databázi ještě nevytvořili, vytvořte ji s názvem newdatabase spuštěním následujícího příkazu:

az mysql flexible-server db create -d newdatabase

Poznámka:

Připojení na flexibilní server Azure Database for MySQL komunikují pomocí portu 3306. Pokud se pokusíte připojit z podnikové sítě, nemusí být odchozí provoz přes port 3306 povolený. K serveru se nemůžete připojit, pokud vaše IT oddělení neotevře port 3306.

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

Pokud se chcete připojit k serveru, musíte zadat informace o hostiteli a přihlašovací údaje pro přístup:

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

Výsledek je ve formátu JSON. Poznamenejte si hodnoty pro fullyQualifiedDomainName a administratorLogin. Tady je příklad výstupu JSON:

{
  "administratorLogin": "myadminusername",
  "administratorLoginPassword": null,
  "delegatedSubnetArguments": {
    "subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/mydemoserverVNET/subnets/mydemoserverSubnet"
  },
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/flexibleServers/mydemoserver",
  "location": "East US 2",
  "name": "mydemoserver",
  "publicNetworkAccess": "Disabled",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 0,
    "name": "Standard_B1ms",
    "tier": "Burstable"
  },
  "storageProfile": {
    "backupRetentionDays": 7,
    "fileStorageSkuName": "Premium_LRS",
    "storageAutogrow": "Disabled",
    "storageIops": 0,
    "storageMb": 10240
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/flexibleServers",
  "version": "5.7"
}

Připojení a otestování připojení pomocí Azure CLI

Flexibilní server Azure Database for MySQL můžete použít k připojení k flexibilnímu serveru pomocí az mysql flexible-server connect příkazu v Azure CLI. Pomocí tohoto příkazu můžete otestovat připojení k databázovému serveru, vytvořit rychlou základní databázi a spouštět dotazy přímo na server bez instalace mysql.exe nebo Aplikace MySQL Workbench. Příkaz můžete také použít v interaktivním režimu ke spuštění více dotazů najednou.

Spuštěním následujícího skriptu otestujte a ověřte připojení k databázi z vývojového prostředí:

az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>

Tady je příklad:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase

V úspěšném připojení se zobrazí výstup podobný následujícímu příkladu:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Pokud se připojení nezdaří, vyzkoušejte tato řešení:

  • Zkontrolujte, jestli je na klientském počítači otevřený port 3306.
  • Ověřte správnost uživatelského jména a hesla správce serveru.
  • Ověřte, že jste pro klientský počítač nakonfigurovali pravidlo brány firewall.
  • Pokud jste server nakonfigurovali pro privátní přístup ve virtuální síti, ujistěte se, že je váš klientský počítač ve stejné virtuální síti jako server.

Pokud chcete spustit jeden dotaz, použijte--querytext argument (-q):

az mysql flexible-server connect -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"

Tady je příklad:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table

Další informace o použití az mysql flexible-server connectnajdete v tématu Připojení a dotazování v Azure CLI.

Připojení pomocí klienta příkazového řádku MySQL

Pokud jste vytvořili flexibilní server Azure Database for MySQL pomocí privátního přístupu s integrací virtuální sítě, připojte se k serveru z prostředku, který je ve stejné virtuální síti jako váš server. Můžete vytvořit virtuální počítač a přidat ho do virtuální sítě, která byla vytvořena při vytváření instance flexibilního serveru Azure Database for MySQL. Další informace najdete v tématu Konfigurace privátního přístupu.

Pokud jste instanci flexibilního serveru Azure Database for MySQL vytvořili pomocí veřejného přístupu (povolené IP adresy), můžete místní IP adresu přidat do seznamu pravidel brány firewall na vašem serveru. Podrobné pokyny najdete v tématu Vytvoření nebo správa pravidel brány firewall.

Pokud se chcete připojit k serveru z místního prostředí, můžete použít mysql.exe nebo MySQL Workbench. Flexibilní server Azure Database for MySQL podporuje připojení klientských aplikací ke službě flexibilního serveru Azure Database for MySQL pomocí protokolu TLS (Transport Layer Security), dříve označovaného jako SSL (Secure Sockets Layer). TLS je standardní protokol, který zajišťuje šifrovaná síťová připojení mezi databázovým serverem a klientskými aplikacemi, abyste mohli dodržovat požadavky na dodržování předpisů. Pokud se chcete připojit pomocí flexibilního serveru Azure Database for MySQL, stáhněte si veřejný certifikát SSL pro ověření certifikační autority. Další informace o připojení pomocí šifrovaných připojení nebo zakázání protokolu SSL najdete v tématu Připojení k flexibilnímu serveru Azure Database for MySQL pomocí šifrovaných připojení.

Následující příklad ukazuje, jak se připojit k flexibilnímu serveru Azure Database for MySQL pomocí klientského nástroje příkazového řádku MySQL. Nástroj můžete nainstalovat, pokud ještě není nainstalovaný. Stáhněte si certifikát DigiCertGlobalRootCA, který se vyžaduje pro připojení SSL. --ssl-mode=REQUIRED K vynucení ověřování certifikátu TLS/SSL použijte nastavení připojovací řetězec. Předejte do parametru --ssl-ca cestu k souboru místního certifikátu. Nahraďte hodnoty skutečným názvem serveru a heslem.

sudo apt-get install mysql-client
wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootCA.crt.pem

Pokud jste flexibilní server Azure Database for MySQL zřídili pomocí veřejného přístupu, můžete se také pomocí Azure Cloud Shellu připojit k flexibilnímu serveru Azure Database for MySQL pomocí předinstalovaného klienta MySQL.

Pokud chcete použít Azure Cloud Shell k připojení k flexibilnímu serveru Azure Database for MySQL, povolte síťový přístup z Azure Cloud Shellu k flexibilnímu serveru Azure Database for MySQL. Pokud chcete povolit přístup, přejděte do podokna Sítě webu Azure Portal pro flexibilní server Azure Database for MySQL. V části Brána firewall zaškrtněte políčko Povolit veřejný přístup z jakékoli služby Azure v Rámci Azure na tento server , jak je znázorněno na následujícím snímku obrazovky. Pak vyberte Uložit a nastavení zachovají.

Screenshot that shows how to grant Azure Cloud Shell access to an Azure Database for MySQL flexible server for public access network configuration.

Poznámka:

Vyberte Povolit veřejný přístup z libovolné služby Azure v rámci Azure k tomuto serveru jenom pro účely vývoje nebo testování. Toto nastavení nakonfiguruje bránu firewall tak, aby umožňovala připojení z IP adres přidělených jakékoli službě Nebo prostředku Azure, včetně připojení z jiných předplatných Azure.

Výběrem možnosti Vyzkoušet otevřete Azure Cloud Shell. V Cloud Shellu se pomocí následujících příkazů připojte k flexibilnímu serveru Azure Database for MySQL. V příkazu použijte název serveru, uživatelské jméno a heslo.

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl=true --ssl-ca=DigiCertGlobalRootCA.crt.pem

Důležité

Když se připojíte k flexibilnímu serveru Azure Database for MySQL pomocí Cloud Shellu, použijte tento --ssl=true parametr. Nepoužívejte --ssl-mode=REQUIRED.

Hlavním důvodem, proč je tyto pokyny důležité, je předinstalovaná služba Azure Cloud Shell s klientem mysql.exe z distribuce MariaDB. Klient mysql.exe vyžaduje --ssl parametr. Klient MySQL z distribuce Oracle vyžaduje --ssl-mode parametr.

Pokud se při připojení k flexibilnímu serveru Azure Database for MySQL zobrazí následující chybová zpráva, při nastavování pravidel brány firewall jste nezaškrtli políčko Povolit veřejný přístup z jakékoli služby Azure v Rámci Azure k tomuto serveru nebo se tato možnost neuložila. Nastavte pravidla brány firewall a opakujte akci.

ERROR 2002 (HY000): Can't connect to MySQL server on <servername> (115)

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

Pokud nepotřebujete používat prostředky, které jste vytvořili pro tento článek v jiném rychlém startu nebo kurzu, můžete je odstranit spuštěním následujícího příkazu:

az group delete --name myresourcegroup

Pokud chcete odstranit pouze flexibilní server, který jste vytvořili, spusťte tento příkaz:

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