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:
- Moduł Az programu PowerShell zainstalowany lokalnie lub w usłudze Azure Cloud Shell w przeglądarce
- Serwer usługi Azure Database for MySQL
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. | ![]() |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | ![]() |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. | ![]() |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
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.
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".