Uaktualnienie wersji głównej w usłudze Azure Database for MySQL — serwer elastyczny

DOTYCZY: Azure Database for MySQL — serwer elastyczny

Uwaga

Ten artykuł zawiera odwołania do terminu slave (element podrzędny), który nie jest już używany przez firmę Microsoft. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.

W tym artykule opisano sposób uaktualniania głównej wersji programu MySQL na serwerze elastycznym usługi Azure Database for MySQL. Ta funkcja umożliwia klientom przeprowadzanie uaktualnień w miejscu serwerów MySQL 5.7 do programu MySQL 8.0 bez konieczności przenoszenia danych ani konieczności wprowadzania zmian w aplikacji parametry połączenia.

Ważne

  • Uaktualnienie wersji głównej jest obecnie niedostępne dla serwerów w wersji 5.7 na podstawie jednostki SKU z możliwością rozszerzania.
  • Czas przestoju zależy od rozmiaru wystąpienia bazy danych i liczby zawartych w nim tabel.
  • Podczas inicjowania uaktualnienia wersji głównej dla serwera elastycznego usługi Azure Database for MySQL za pośrednictwem interfejsu API REST lub zestawu SDK należy unikać modyfikowania innych właściwości usługi w tym samym żądaniu. Jednoczesne zmiany nie są dozwolone i mogą prowadzić do niezamierzonych wyników lub niepowodzeń żądań. Przeprowadź modyfikacje właściwości w oddzielnych operacjach po uaktualnieniu.
  • Uaktualnienie głównej wersji programu MySQL jest nieodwracalne. Wdrożenie może zakończyć się niepowodzeniem, jeśli walidacja wskaże, że serwer jest skonfigurowany z dowolnymi funkcjami, które są usunięte lub przestarzałe. Możesz wprowadzić niezbędne zmiany konfiguracji na serwerze i ponowić próbę uaktualnienia.

Wymagania wstępne

  • Repliki do odczytu z programem MySQL w wersji 5.7 należy uaktualnić przed serwerem podstawowym, aby replikacja był zgodna z różnymi wersjami programu MySQL, przeczytaj więcej na temat zgodności replikacji między wersjami programu MySQL.
  • Przed uaktualnieniem serwerów produkcyjnych jest teraz łatwiejsze i bardziej wydajne dzięki wbudowanej funkcji Weryfikuj w witrynie Azure Portal. To narzędzie wstępnie sprawdza zgodność schematu bazy danych z programem MySQL 8.0, podkreślając potencjalne problemy. Chociaż oferujemy tę wygodną opcję, zdecydowanie zalecamy również użycie oficjalnego narzędzia do sprawdzania uaktualnień Oracle MySQL w celu przetestowania zgodności schematu bazy danych i wykonania niezbędnego testu regresji w celu zweryfikowania zgodności aplikacji z funkcjami usuniętymi/jako przestarzałe w nowej wersji programu MySQL.
  • Wyzwól tworzenie kopii zapasowej na żądanie przed przeprowadzeniem uaktualnienia wersji głównej na serwerze produkcyjnym, którego można użyć do wycofania do wersji 5.7 z pełnej kopii zapasowej na żądanie wykonanej.

Przeprowadź planowane uaktualnienie wersji głównej z programu MySQL 5.7 do programu MySQL 8.0 przy użyciu witryny Azure Portal

Aby przeprowadzić uaktualnienie wersji głównej serwera elastycznego usługi Azure Database for MySQL 5.7 przy użyciu witryny Azure Portal, wykonaj następujące kroki.

  1. W witrynie Azure Portal wybierz istniejący serwer elastyczny usługi Azure Database for MySQL 5.7.

    Ważne

    Zalecamy przeprowadzenie uaktualnienia najpierw na przywróconej kopii serwera zamiast bezpośrednio uaktualniać środowisko produkcyjne. Zobacz , jak wykonać przywracanie do punktu w czasie.

  2. Na stronie Przegląd na pasku narzędzi wybierz pozycję Uaktualnij.

    Ważne

    Przed uaktualnieniem przejdź do linku do listy funkcji usuniętych w programie MySQL 8.0. Sprawdź przestarzałe wartości sql_mode i usuń/usuń ich zaznaczenie z bieżącego serwera elastycznego usługi Azure Database for MySQL 5.7 przy użyciu bloku Parametry serwera w witrynie Azure Portal, aby uniknąć niepowodzenia wdrażania. sql_mode z wartościami NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS i NO_TABLE_OPTIONS nie są już obsługiwane w programie MySQL 8.0.

    Screenshot showing Azure Database for MySQL flexible server Upgrade.

  3. Przeprowadzanie weryfikacji przed uaktualnieniem

    Przed kontynuowaniem uaktualniania kliknij przycisk Weryfikuj , aby sprawdzić zgodność serwera z programem MySQL 8.0.

    Screenshot showing validate.

    Ważne

    Jeśli używasz funkcji "Validate" do sprawdzania schematu bazy danych pod kątem zgodności z programem MySQL 8.0, należy pamiętać, że obejmuje zablokowanie tabel w celu dokładnej oceny całego schematu. Ten proces może prowadzić do przekroczenia limitu czasu zapytania. W związku z tym zaleca się, aby nie przeprowadzać walidacji w godzinach szczytu pracy lub gdy baza danych ma duży ruch. Wybranie okresu niskiej aktywności na potrzeby walidacji może pomóc zminimalizować wpływ na operacje.

  4. Na pasku bocznym Uaktualnianie w polu tekstowym MySQL w celu uaktualnienia sprawdź główną wersję programu MySQL, do której chcesz przeprowadzić uaktualnienie , tj. 8.0.

    Screenshot showing Upgrade.

    Przed uaktualnieniem serwera podstawowego należy najpierw uaktualnić wszystkie skojarzone serwery repliki do odczytu. Dopóki to nie zostanie ukończone, uaktualnienie zostanie wyłączone.

  5. Na serwerze podstawowym wybierz komunikat potwierdzenia, aby sprawdzić, czy wszystkie serwery repliki zostały uaktualnione, a następnie wybierz pozycję Uaktualnij.

    Screenshot showing upgrade.

    W przypadku repliki do odczytu i autonomicznych serwerów uaktualnienie jest domyślnie włączone.

Przeprowadź planowane uaktualnienie wersji głównej z programu MySQL 5.7 do programu MySQL 8.0 przy użyciu interfejsu wiersza polecenia platformy Azure

Aby przeprowadzić uaktualnienie wersji głównej serwera elastycznego usługi Azure Database for MySQL 5.7 przy użyciu interfejsu wiersza polecenia platformy Azure, wykonaj następujące kroki.

  1. Zainstaluj interfejs wiersza polecenia platformy Azure dla systemu Windows lub użyj interfejsu wiersza polecenia platformy Azure w usłudze Azure Cloud Shell, aby uruchomić polecenia uaktualniania.

    To uaktualnienie wymaga wersji 2.40.0 lub nowszej interfejsu wiersza polecenia platformy Azure. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana. Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.

  2. Po zalogowaniu uruchom polecenie az mysql server upgrade .

    az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
    
  3. W wierszu polecenia potwierdzenia wpisz y , aby potwierdzić lub n , aby zatrzymać proces uaktualniania, a następnie naciśnij klawisz Enter.

Przeprowadź uaktualnienie wersji głównej z programu MySQL 5.7 do programu MySQL 8.0 na serwerze repliki do odczytu przy użyciu witryny Azure Portal

Aby przeprowadzić uaktualnienie wersji głównej serwera elastycznego usługi Azure Database for MySQL 5.7 do programu MySQL 8.0 w repliki do odczytu przy użyciu witryny Azure Portal, wykonaj następujące kroki.

  1. W witrynie Azure Portal wybierz istniejący serwer elastyczny serwera usługi Azure Database for MySQL 5.7 do odczytu.

  2. Na stronie Przegląd na pasku narzędzi wybierz pozycję Uaktualnij.

Ważne

Przed uaktualnieniem przejdź do linku do listy funkcji usuniętych w programie MySQL 8.0. Sprawdź przestarzałe wartości sql_mode i usuń/usuń ich zaznaczenie z bieżącego serwera elastycznego usługi Azure Database for MySQL 5.7 przy użyciu bloku Parametry serwera w witrynie Azure Portal, aby uniknąć niepowodzenia wdrażania.

  1. W sekcji Uaktualnianie wybierz pozycję Uaktualnij, aby uaktualnić serwer elastyczny serwera usługi Azure Database for MySQL 5.7 do odczytu do programu MySQL 8.0.

    Zostanie wyświetlone powiadomienie informujące o pomyślnym uaktualnieniu.

  2. Na stronie Przegląd upewnij się, że serwer elastyczny serwera repliki do odczytu usługi Azure Database for MySQL ma uruchomioną wersję 8.0.

  3. Teraz przejdź do serwera podstawowego i przeprowadź uaktualnienie wersji głównej na nim.

Wykonywanie minimalnego przestoju uaktualnienia wersji głównej z programu MySQL 5.7 do programu MySQL 8.0 przy użyciu replik do odczytu

Aby przeprowadzić uaktualnienie wersji głównej serwera elastycznego usługi Azure Database for MySQL 5.7 do programu MySQL 8.0 z minimalnym przestojem przy użyciu serwerów repliki do odczytu, wykonaj następujące kroki.

  1. W witrynie Azure Portal wybierz istniejący serwer elastyczny usługi Azure Database for MySQL 5.7.

  2. Utwórz replikę do odczytu z serwera podstawowego.

  3. Uaktualnij replikę do odczytu do wersji 8.0.

  4. Po potwierdzeniu, że serwer repliki jest uruchomiony w wersji 8.0, zatrzymaj łączenie aplikacji z serwerem podstawowym.

  5. Sprawdź stan replikacji, aby upewnić się, że replika dogoniła element podstawowy, tak aby wszystkie dane były zsynchronizowane i że nie są wykonywane żadne nowe operacje na serwerze podstawowym.

  6. Potwierdź polecenie pokaż stan repliki na serwerze repliki, aby wyświetlić stan replikacji.

     SHOW SLAVE STATUS\G
    

    Jeśli stan Slave_IO_Running i Slave_SQL_Running to tak , a wartość Seconds_Behind_Master wynosi 0, replikacja działa prawidłowo. Seconds_Behind_Master wskazuje, jak późno jest replika. Jeśli wartość nie jest 0, replika nadal przetwarza aktualizacje. Po potwierdzeniu, że wartość Seconds_Behind_Master wynosi ****, można bezpiecznie zatrzymać replikację.

  7. Podwyższ poziom repliki do odczytu do podstawowego, zatrzymując replikację.

  8. Ustaw wartość parametru serwera read_only na wartość 0 (OFF), aby rozpocząć zapisywanie na podwyższonym poziomie podstawowym.

  9. Wskaż aplikację na nową podstawową (poprzednią replikę), na której działa serwer 8.0. Każdy serwer ma unikatowy parametry połączenia. Zaktualizuj aplikację, aby wskazywała (poprzednią) replikę zamiast źródła.

Uwaga

Ten scenariusz powoduje tylko przestój podczas wykonywania kroków od 4 do 7.

Często zadawane pytania

  • Czy spowoduje to przestój serwera, a jeśli tak, jak długo?

    Aby mieć minimalny przestój podczas uaktualniania, wykonaj kroki opisane w sekcji Wykonywanie minimalnego przestoju uaktualnienia wersji głównej z programu MySQL 5.7 do programu MySQL 8.0 przy użyciu replik do odczytu. Serwer będzie niedostępny podczas procesu uaktualniania, dlatego zalecamy wykonanie tej operacji podczas planowanego okna obsługi. Szacowany przestój zależy od rozmiaru bazy danych, aprowizowanego rozmiaru magazynu (aprowizowane operacje we/wy i liczby tabel w bazie danych). Czas uaktualniania jest bezpośrednio proporcjonalny do liczby tabel na serwerze. Aby oszacować przestój środowiska serwera, zalecamy najpierw przeprowadzenie uaktualnienia na przywróconej kopii serwera.

  • Co się stanie z moimi kopiami zapasowymi po uaktualnieniu?

    Wszystkie kopie zapasowe (automatyczne/na żądanie) wykonywane przed uaktualnieniem wersji głównej, gdy są używane do przywracania, zawsze będą przywracane do serwera ze starszą wersją (5.7). Wszystkie kopie zapasowe (automatyczne/na żądanie) wykonywane po uaktualnieniu wersji głównej zostaną przywrócone do serwera z uaktualnioną wersją (8.0). Zdecydowanie zaleca się wykonanie kopii zapasowej na żądanie przed przeprowadzeniem uaktualnienia wersji głównej w celu łatwego wycofania.

  • Obecnie używam jednostki SKU z możliwością rozszerzania, czy firma Microsoft planuje w przyszłości obsługiwać uaktualnienie wersji głównej dla tej jednostki SKU?

    Jednostka SKU z możliwością zwiększenia wydajności nie może obsługiwać uaktualnienia wersji głównej ze względu na ograniczenie wydajności tej jednostki SKU.

    Jeśli musisz przeprowadzić uaktualnienie wersji głównej w wystąpieniu serwera elastycznego usługi Azure Database for MySQL i obecnie używasz jednostki SKU z możliwością rozszerzania, jednym tymczasowym rozwiązaniem byłoby uaktualnienie do jednostki SKU ogólnego przeznaczenia lub Krytyczne dla działania firmy, przeprowadzenie uaktualnienia, a następnie przełączenie się z powrotem do jednostki SKU z możliwością rozszerzania.

    Należy pamiętać, że uaktualnienie do wyższej jednostki SKU może obejmować zmianę cen i może spowodować zwiększenie kosztów wdrożenia. Jednak ponieważ proces uaktualniania nie powinien trwać długo, dodatkowe koszty nie powinny być znaczące.

Następne kroki