Jak tworzyć repliki do odczytu i zarządzać nimi w usłudze Azure Database for MySQL przy użyciu interfejsu wiersza polecenia platformy Azure i interfejsu API REST

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Ważne

Pojedynczy serwer usługi Azure Database for MySQL znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji na temat migracji do serwera elastycznego usługi Azure Database for MySQL, zobacz Co się dzieje z usługą Azure Database for MySQL — pojedynczy serwer?

W tym artykule dowiesz się, jak tworzyć repliki do odczytu i zarządzać nimi w usłudze Azure Database for MySQL przy użyciu interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej na temat replik do odczytu, zobacz omówienie.

Interfejs wiersza polecenia platformy Azure

Repliki do odczytu można tworzyć i zarządzać nimi przy użyciu interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Ważne

Funkcja repliki do odczytu jest dostępna tylko dla serwerów usługi Azure Database for MySQL w warstwach cenowych Ogólnego przeznaczenia lub Zoptymalizowane pod kątem pamięci. Upewnij się, że serwer źródłowy znajduje się w jednej z tych warstw cenowych.

Tworzenie repliki do odczytu

Ważne

Jeśli serwer źródłowy nie ma istniejących serwerów repliki, serwer źródłowy może wymagać ponownego uruchomienia, aby przygotować się do replikacji w zależności od używanego magazynu (v1/v2). Rozważ ponowne uruchomienie serwera i wykonaj tę operację poza godzinami szczytu. Aby uzyskać więcej szczegółów, zobacz Ponowne uruchamianie serwera źródłowego.

Jeśli identyfikator GTID jest włączony na serwerze podstawowym (gtid_mode = WŁ.), nowo utworzone repliki będą również miały włączone identyfikator GTID i używać replikacji opartej na identyfikatorze GTID. Aby dowiedzieć się więcej, zobacz Globalny identyfikator transakcji (GTID)

Serwer repliki do odczytu można utworzyć przy użyciu następującego polecenia:

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

Polecenie az mysql server replica create wymaga następujących parametrów:

Ustawienie Przykładowa wartość Opis
resource-group  myresourcegroup  Grupa zasobów, w której zostanie utworzony serwer repliki. 
name mydemoreplicaserver Nazwa nowego serwera repliki, który jest tworzony.
source-server mydemoserver Nazwa lub identyfikator istniejącego serwera źródłowego do replikacji.

Aby utworzyć replikę do odczytu między regionami, użyj parametru --location . Poniższy przykład interfejsu wiersza polecenia tworzy replikę w regionie Zachodnie stany USA.

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

Uwaga

Aby dowiedzieć się więcej na temat regionów, w których można utworzyć replikę, zapoznaj się z artykułem pojęcia dotyczące repliki do odczytu.

Uwaga

  • Polecenie az mysql server replica create zawiera --sku-name argument, który umożliwia określenie jednostki SKU ({pricing_tier}_{compute generation}_{vCores}) podczas tworzenia repliki przy użyciu interfejsu wiersza polecenia platformy Azure.
  • Serwer podstawowy i replika do odczytu powinny znajdować się w tej samej warstwie cenowej (Ogólnego przeznaczenia lub Zoptymalizowane pod kątem pamięci).
  • Konfigurację serwera repliki można również zmienić po jej utworzeniu. Zaleca się, aby konfiguracja serwera repliki była przechowywana w równych lub większych wartościach niż źródło, aby upewnić się, że replika jest w stanie nadążyć za wzorcem.

Wyświetlanie listy replik dla serwera źródłowego

Aby wyświetlić wszystkie repliki dla danego serwera źródłowego, uruchom następujące polecenie:

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

Polecenie az mysql server replica list wymaga następujących parametrów:

Ustawienie Przykładowa wartość Opis
resource-group  myresourcegroup  Grupa zasobów, w której zostanie utworzony serwer repliki. 
nazwa-serwera mydemoserver Nazwa lub identyfikator serwera źródłowego.

Zatrzymywanie replikacji na serwerze repliki

Ważne

Zatrzymywanie replikacji na serwerze jest nieodwracalne. Po zatrzymaniu replikacji między źródłem i repliką nie można jej cofnąć. Następnie serwer repliki staje się serwerem autonomicznym, a teraz obsługuje zarówno odczyt, jak i zapis. Tego serwera nie można ponownie replikować.

Replikacja do serwera repliki do odczytu można zatrzymać przy użyciu następującego polecenia:

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

Polecenie az mysql server replica stop wymaga następujących parametrów:

Ustawienie Przykładowa wartość Opis
resource-group  myresourcegroup  Grupa zasobów, w której istnieje serwer repliki. 
name mydemoreplicaserver Nazwa serwera repliki do zatrzymania replikacji.

Usuwanie serwera repliki

Usunięcie serwera repliki do odczytu można wykonać, uruchamiając polecenie az mysql server delete .

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

Usuwanie serwera źródłowego

Ważne

Usunięcie serwera źródłowego powoduje zatrzymanie replikacji do wszystkich serwerów repliki i usunięcie samego serwera źródłowego. Serwery repliki stają się serwerami autonomicznymi, które teraz obsługują zarówno odczyt, jak i zapis.

Aby usunąć serwer źródłowy, możesz uruchomić polecenie az mysql server delete .

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

Interfejs API REST

Repliki do odczytu można tworzyć i zarządzać nimi przy użyciu interfejsu API REST platformy Azure.

Tworzenie repliki do odczytu

Replikę do odczytu można utworzyć przy użyciu interfejsu API tworzenia:

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}"
  }
}

Uwaga

Aby dowiedzieć się więcej na temat regionów, w których można utworzyć replikę, zapoznaj się z artykułem pojęcia dotyczące repliki do odczytu.

Replika jest tworzona przy użyciu tych samych ustawień obliczeniowych i magazynu co wzorzec. Po utworzeniu repliki można zmienić kilka ustawień niezależnie od serwera źródłowego: generowanie zasobów obliczeniowych, rdzenie wirtualne, magazyn i okres przechowywania kopii zapasowych. Warstwę cenową można również zmienić niezależnie, z wyjątkiem warstwy Podstawowa lub z warstwy Podstawowa.

Ważne

Zanim ustawienie serwera źródłowego zostanie zaktualizowane do nowej wartości, zaktualizuj ustawienie repliki na wartość równą lub większą. Ta akcja pomaga repliki nadążyć za wszelkimi zmianami wprowadzonych do wzorca.

Lista replik

Listę replik serwera źródłowego można wyświetlić przy użyciu interfejsu API listy replik:

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

Zatrzymywanie replikacji na serwerze repliki

Replikację między serwerem źródłowym i repliką do odczytu można zatrzymać przy użyciu interfejsu API aktualizacji.

Po zatrzymaniu replikacji na serwerze źródłowym i repliki do odczytu nie można jej cofnąć. Replika do odczytu staje się autonomicznym serwerem obsługującym odczyty i zapisy. Nie można ponownie utworzyć autonomicznego serwera w repliki.

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

Usuwanie serwera źródłowego lub repliki

Aby usunąć serwer źródłowy lub serwer repliki, należy użyć interfejsu API usuwania:

Po usunięciu serwera źródłowego replikacja do wszystkich replik do odczytu zostanie zatrzymana. Repliki do odczytu stają się serwerami autonomicznymi, które obsługują teraz zarówno operacje odczytu, jak i zapisu.

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

Znane problemy

Istnieją dwie generacje magazynu, które serwery w warstwie Ogólnego przeznaczenia i Zoptymalizowane pod kątem pamięci, Magazyn ogólnego przeznaczenia w wersji 1 (obsługuje maksymalnie 4 TB) i Magazyn ogólnego przeznaczenia w wersji 2 (obsługuje do 16 TB magazynu). Serwer źródłowy i serwer repliki powinny mieć ten sam typ magazynu. Ponieważ magazyn ogólnego przeznaczenia w wersji 2 nie jest dostępny we wszystkich regionach, upewnij się, że wybrano prawidłowy region repliki podczas używania lokalizacji z interfejsem wiersza polecenia lub interfejsem API REST do tworzenia repliki do odczytu. Aby określić typ magazynu serwera źródłowego, zapoznaj się z linkiem Jak określić typ magazynu, na którym działa mój serwer.

Jeśli wybierzesz region, w którym nie można utworzyć repliki do odczytu dla serwera źródłowego, wystąpi problem polegający na tym, że wdrożenie będzie nadal działać, jak pokazano na poniższej ilustracji, a następnie zostanie przekroczony limit czasu z błędem "Operacja aprowizacji zasobów nie została ukończona w dozwolonym okresie przekroczenia limitu czasu".

Read replica cli error.

Następne kroki