Vytvoření a správa replik pro čtení ve službě Azure Database for MySQL pomocí Rozhraní příkazového řádku Azure a rozhraní REST API

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?

V tomto článku se dozvíte, jak vytvářet a spravovat repliky pro čtení ve službě Azure Database for MySQL pomocí Rozhraní příkazového řádku Azure a rozhraní REST API. Další informace o replikách pro čtení najdete v přehledu.

Azure CLI

Repliky pro čtení můžete vytvářet a spravovat pomocí Azure CLI.

Požadavky

Důležité

Funkce repliky pro čtení je k dispozici pouze pro servery Azure Database for MySQL v cenových úrovních Pro obecné účely nebo Optimalizováno pro paměť. Ujistěte se, že zdrojový server je v některé z těchto cenových úrovní.

Vytvoření repliky pro čtení

Důležité

Pokud váš zdrojový server nemá žádné existující servery repliky, může zdrojový server potřebovat restartování, aby se připravil na replikaci v závislosti na použitém úložišti (v1/v2). Zvažte restartování serveru a proveďte tuto operaci mimo špičku. Další podrobnosti najdete v tématu Restartování zdrojového serveru.

Pokud je na primárním serveru povolené GTID (gtid_mode = ZAPNUTO), nově vytvořené repliky budou mít také povolené GTID a budou používat replikaci založenou na GTID. Další informace najdete v tématu Globální identifikátor transakce (GTID)

Server repliky pro čtení je možné vytvořit pomocí následujícího příkazu:

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

Příkaz az mysql server replica create vyžaduje následující parametry:

Nastavení Příklad hodnoty Popis
resource-group  myresourcegroup  Skupina prostředků, do které se vytvoří server repliky. 
name mydemoreplicaserver Název nového serveru repliky, který se vytvoří.
source-server mydemoserver Název nebo ID existujícího zdrojového serveru, ze které se má replikovat.

K vytvoření repliky pro čtení mezi oblastmi použijte --location parametr. Následující příklad rozhraní příkazového řádku vytvoří repliku v oblasti USA – západ.

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Poznámka:

Další informace o oblastech, ve kterých můžete vytvořit repliku, najdete v článku konceptů replik pro čtení.

Poznámka:

  • Příkaz az mysql server replica create obsahuje --sku-name argument, který umožňuje zadat skladovou položku ({pricing_tier}_{compute generation}_{vCores}) při vytváření repliky pomocí Azure CLI.
  • Primární server a replika pro čtení by měly být na stejné cenové úrovni (Pro obecné účely nebo Optimalizováno pro paměť).
  • Konfiguraci serveru repliky je také možné po vytvoření změnit. Doporučuje se zachovat konfiguraci serveru repliky na stejné nebo větší hodnoty než zdroj, aby se zajistilo, že replika bude schopná držet krok s hlavním serverem.

Výpis replik pro zdrojový server

Pokud chcete zobrazit všechny repliky pro daný zdrojový server, spusťte následující příkaz:

az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup

Příkaz az mysql server replica list vyžaduje následující parametry:

Nastavení Příklad hodnoty Popis
resource-group  myresourcegroup  Skupina prostředků, do které se vytvoří server repliky. 
název-serveru mydemoserver Název nebo ID zdrojového serveru.

Zastavení replikace na server repliky

Důležité

Zastavení replikace na server je nevratné. Jakmile se replikace zastaví mezi zdrojem a replikou, nedá se vrátit zpět. Server repliky se pak stane samostatným serverem a teď podporuje čtení i zápisy. Z tohoto serveru nejde znovu udělat repliku.

Replikaci na server repliky pro čtení je možné zastavit pomocí následujícího příkazu:

az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

Příkaz az mysql server replica stop vyžaduje následující parametry:

Nastavení Příklad hodnoty Popis
resource-group  myresourcegroup  Skupina prostředků, ve které existuje server repliky. 
name mydemoreplicaserver Název serveru repliky pro zastavení replikace.

Odstranění serveru repliky

Odstranění serveru repliky pro čtení je možné provést spuštěním příkazu az mysql server delete .

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

Odstranění zdrojového serveru

Důležité

Odstraněním zdrojového serveru se zastaví replikace na všechny servery replik a odstraní se samotný zdrojový server. Ze serverů replik se stanou samostatné servery, které teď podporují čtení i zápis.

Pokud chcete odstranit zdrojový server, můžete spustit příkaz az mysql server delete .

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

REST API

Repliky pro čtení můžete vytvářet a spravovat pomocí rozhraní Azure REST API.

Vytvoření repliky pro čtení

Repliku pro čtení můžete vytvořit pomocí rozhraní API pro vytvoření:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}"
  }
}

Poznámka:

Další informace o oblastech, ve kterých můžete vytvořit repliku, najdete v článku konceptů replik pro čtení.

Replika se vytvoří pomocí stejného nastavení výpočetních prostředků a úložiště jako hlavní server. Po vytvoření repliky je možné změnit několik nastavení nezávisle na zdrojovém serveru: generování výpočetních prostředků, virtuální jádra, úložiště a doba uchovávání záloh. Cenovou úroveň lze také změnit nezávisle, s výjimkou úrovně Basic nebo z ní.

Důležité

Před aktualizací nastavení zdrojového serveru na novou hodnotu aktualizujte nastavení repliky na stejnou nebo vyšší hodnotu. Tato akce pomáhá replikě udržovat krok se všemi změnami provedenými v hlavním serveru.

Výpis replik

Seznam replik zdrojového serveru můžete zobrazit pomocí rozhraní API seznamu replik:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Zastavení replikace na server repliky

Replikaci mezi zdrojovým serverem a replikou pro čtení můžete zastavit pomocí rozhraní API aktualizace.

Jakmile zastavíte replikaci na zdrojový server a repliku pro čtení, nedá se vrátit zpět. Replika pro čtení se stane samostatným serverem, který podporuje čtení i zápisy. Samostatný server nelze znovu vytvořit do repliky.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Odstranění zdrojového serveru nebo serveru repliky

Pokud chcete odstranit zdrojový server nebo server repliky, použijte rozhraní API pro odstranění:

Když odstraníte zdrojový server, zastaví se replikace do všech replik pro čtení. Repliky pro čtení se stanou samostatnými servery, které teď podporují čtení i zápisy.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01

Známý problém

Existují dvě generace úložiště, které servery na úrovni Pro obecné účely a Optimalizováno pro paměť používají, úložiště pro obecné účely v1 (podporuje až 4 TB) a úložiště pro obecné účely v2 (podporuje až 16 TB úložiště). Zdrojový server a server repliky by měly mít stejný typ úložiště. Vzhledem k tomu , že úložiště pro obecné účely verze 2 není dostupné ve všech oblastech, ujistěte se, že při vytváření repliky pro čtení zvolíte správnou oblast repliky, pokud používáte umístění s rozhraním příkazového řádku nebo rozhraním REST API. Informace o tom, jak identifikovat typ úložiště zdrojového serveru, najdete na odkazu Jak zjistím, na kterém typu úložiště je server spuštěný.

Pokud zvolíte oblast, ve které nemůžete vytvořit repliku pro čtení pro zdrojový server, dojde k problému, kdy bude nasazení běžet, jak je znázorněno na obrázku níže, a pak vyprší časový limit s chybou "Operace zřizování prostředků nebyla dokončena během povoleného časového limitu".

Read replica cli error.

Další kroky