Udostępnij za pośrednictwem


Jak tworzyć repliki do odczytu i zarządzać nimi w usłudze Azure Database for MySQL przy użyciu programu PowerShell

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?

Z tego artykułu dowiesz się, jak tworzyć repliki do odczytu i zarządzać nimi w usłudze Azure Database for MySQL przy użyciu programu PowerShell. Aby dowiedzieć się więcej na temat replik do odczytu, zobacz omówienie.

Azure PowerShell

Repliki do odczytu można tworzyć i zarządzać nimi przy użyciu programu PowerShell.

Wymagania wstępne

Aby ukończyć ten przewodnik z instrukcjami, potrzebne są następujące elementy:

Ważne

Moduł Az.MySql programu PowerShell jest w wersji zapoznawczej, ale należy zainstalować go oddzielnie od modułu Az programu PowerShell przy użyciu następującego polecenia: Install-Module -Name Az.MySql -AllowPrerelease. Gdy moduł Az.MySql programu PowerShell jest ogólnie dostępny, staje się on częścią przyszłych wersji modułu Az programu PowerShell i jest dostępny natywnie z poziomu usługi Azure Cloud Shell.

Jeśli zdecydujesz się używać programu PowerShell lokalnie, połącz się z kontem platformy Azure przy użyciu polecenia cmdlet Connect-AzAccount .

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz Enter, aby uruchomić kod lub polecenie.

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.

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)

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.

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

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Polecenie New-AzMySqlReplica wymaga następujących parametrów:

Ustawienie Przykładowa wartość Opis
ResourceGroupName  myresourcegroup  Grupa zasobów, w której jest tworzony serwer repliki. 
Nazwisko mydemoreplicaserver Nazwa nowego serwera repliki, który jest tworzony.

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

Get-AzMySqlServer -Name mrdemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName 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.

Domyślnie repliki do odczytu są tworzone z tą samą konfiguracją serwera co źródło, chyba że określono parametr jednostki SKU .

Uwaga

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:

Get-AzMySqlReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

Polecenie Get-AzMySqlReplica wymaga następujących parametrów:

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

Usuwanie serwera repliki

Usunięcie serwera repliki do odczytu można wykonać, uruchamiając Remove-AzMySqlServer polecenie cmdlet .

Remove-AzMySqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

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ć Remove-AzMySqlServer polecenie cmdlet .

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Znany problem

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 korzystania z lokalizacji z programem PowerShell 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".

Błąd interfejsu wiersza polecenia repliki do odczytu

Następne kroki