Wprowadzenie do usługi Azure Database for MySQL

Ukończone

Usługę Azure Database for MySQL można wdrożyć jako serwer elastyczny (wersja zapoznawcza) do hostowania bazy danych MySQL organizacji na platformie Azure. Jest to w pełni zarządzana baza danych jako usługa, która może obsługiwać obciążenia o znaczeniu krytycznym z przewidywalną wydajnością i dynamiczną skalowalnością.

Jako deweloper bazy danych z wieloletnim doświadczeniem w uruchamianiu lokalnych instalacji programu MySQL i zarządzaniu nimi chcesz dowiedzieć się, jak usługa Azure Database for MySQL obsługuje i skaluje swoje funkcje.

W tej lekcji zapoznasz się z cennikiem, obsługą wersji, replikacją i opcjami skalowania usługi Azure Database for PostgreSQL.

Omówienie korzyści związanych z usługą Azure Database for MySQL

Usługa Azure Database for MySQL jest aprowizowana jako serwer usługi Azure Database for MySQL. Serwer usługi Azure Database for MySQL jest odpowiednikiem lokalnego serwera MySQL i zapewnia centralny punkt administrowania wieloma bazami danych MySQL.

Aby utworzyć bazę danych usługi Azure Database for MySQL, musisz najpierw aprowizować serwer usługi Azure Database for MySQL. Serwer usługi Azure Database for MySQL jest nadrzędnym co najmniej jedną bazą danych i zapewnia przestrzeń nazw baz danych. Jeśli usuniesz serwer, usuniesz wszystkie bazy danych, które zawiera.

Co zapewnia serwer usługi Azure Database for MySQL?

Usługa Azure Database for MySQL zapewnia wysoką dostępność bez dodatkowych kosztów i skalowalność zgodnie z potrzebami. Płaci się wyłącznie za użyte zasoby. Dostępne są automatyczne kopie zapasowe z przywracaniem do punktu w czasie.

Serwer zapewnia zabezpieczenia połączeń, wymuszając reguły zapory i, opcjonalnie, wymaga połączeń SSL. Wiele parametrów serwera umożliwia konfigurowanie ustawień serwera, takich jak tryby blokady, maksymalna liczba połączeń i przekroczenia limitu czasu. Zmiany parametrów oznaczonych jako Dynamiczne zaczynają obowiązywać natychmiast. Parametry statyczne wymagają ponownego uruchomienia serwera. Ponownie uruchom serwer przy użyciu przycisku Uruchom ponownie na stronie Przegląd w portalu.

Serwery usługi Azure Database for MySQL obejmują funkcje monitorowania służące do dodawania alertów oraz wyświetlania metryk i dzienników.

Warstwy cenowe

Warstwy cenowe umożliwiają szeroką gamę wydajności i pojemności od jednego do 64 rdzeni wirtualnych oraz od 5 GB do 4 TB miejsca do magazynowania. Podstawowa warstwa cenowa jest przeznaczona dla lekkich obciążeń obliczeniowych i obsługuje maksymalnie dwa rdzenie wirtualne z 2 GB pamięci na rdzeń. Warstwa cenowa ogólnego przeznaczenia będzie odpowiadać większości obciążeń biznesowych i obsługuje z dwóch do 64 rdzeni wirtualnych z 5 GB pamięci na rdzeń. Warstwa cenowa zoptymalizowana pod kątem pamięci obsługuje od dwóch do 32 rdzeni wirtualnych, ma 10 GB pamięci na rdzeń wirtualny i jest przeznaczona do obciążeń o wysokiej wydajności, w tym analizy danych w czasie rzeczywistym. Mimo że można przełączać się między warstwami cenowymi ogólnego przeznaczenia i zoptymalizowanymi pod kątem pamięci, a także zmieniać liczbę rdzeni wirtualnych lub magazynu w ciągu kilku sekund, nie można przejść do lub z warstwy cenowej podstawowej.

Image showing the pricing tiers in the Azure portal

Istnieją limity połączeń oparte na warstwach cenowych i liczbie rdzeni wirtualnych. Aby uzyskać więcej informacji, zobacz Ograniczenia w usłudze Azure Database for MySQL .

Przechowywanie wersji i uaktualnienia

Usługa Azure Database for MySQL obsługuje wersję 5.6 (z poprawką błędów w wersji 5.6.42), 5.7 (z wersją poprawki błędów 5.7.24) i 8.0 (z poprawką usterek w wersji 8.0.15).

Uwaga

Brama przekierowuje połączenia z wystąpieniami serwera. Klienci mySQL będą wyświetlać wersję bramy, a nie wersję wystąpienia serwera. Aby wyświetlić wersję wystąpienia serwera, użyj metody SELECT VERSION(); Polecenia.

Wersje poprawki błędów są stosowane automatycznie, ale uaktualnienia wersji nie są obsługiwane. Aby uaktualnić jedną wersję do innej, należy wykonać zrzut i przywrócić.

Skalowalność

Jak wspomniano, nie można zmienić warstwy cenowej na lub z warstwy cenowej podstawowa. Można jednak zmienić liczbę rdzeni wirtualnych, generację sprzętu, wolumin magazynu i okres przechowywania kopii zapasowych. Można również przełączać się między warstwami cenowymi ogólnego przeznaczenia i zoptymalizowanymi pod kątem pamięci.

Należy pamiętać, że magazyn jest zwiększany, nie zmniejszany i można go ustawić na automatyczne zwiększanie. W przypadku włączenia automatycznego zwiększania rozmiar magazynu zwiększa się o 5 GB, gdy dostępny magazyn jest mniejszy niż 1 GB lub 10% woluminu magazynu (w zależności od tego, co jest większe) dla serwerów z mniej niż 100 GB miejsca do magazynowania. W przypadku serwerów z ponad 100 GB magazyn zwiększa się o 5%, gdy dostępny magazyn jest mniejszy niż 5%.

Wysoka dostępność

Usługa Azure Database for MySQL obejmuje umowę dotyczącą poziomu usług (SLA) wspieraną finansowo w celu zapewnienia dostępności na poziomie 99,99%. Jeśli wystąpi awaria sprzętowa lub wdrożenie usługi, zostanie automatycznie utworzony nowy węzeł, a magazyn zostanie dołączony do tego węzła. Tryb failover zostanie ukończony w ciągu dziesiątek sekund.

Jeśli wystąpienie serwera usługi Azure Database for MySQL jest skalowane w górę lub w dół, podobny proces występuje z dołączonym magazynem danych do nowego wystąpienia. Jeśli nastąpi przejście w tryb failover, nastąpi skalowanie w górę lub w dół lub wystąpiły jakiekolwiek przerwy w ruchu internetowym między klientem a platformą Azure, na kliencie może wystąpić przejściowy błąd łączności. Ważne jest, aby logika ponawiania prób w aplikacjach była istotna. W przypadku przejścia w tryb failover brama będzie kierować ruch do nowego węzła bez konfiguracji wymaganej na kliencie.

Aby uzyskać informacje na temat obsługi błędów przejściowych, zobacz Obsługa przejściowych błędów łączności dla usługi Azure Database for MySQL.

Replikowanie danych w usłudze Azure Database for MySQL

Replikacja typu data-in

Replikacja typu data-in używa natywnej funkcji replikacji bazy danych MySQL do replikowania danych z zewnętrznego serwera MySQL do usługi Azure Database for MySQL. Jest to przydatne, jeśli chcesz aprowizować środowisko hybrydowe przy użyciu istniejącego lokalnego wystąpienia programu MySQL i repliki opartej na platformie Azure. Ten scenariusz udostępnia dane lokalne użytkownikom w globalnie rozproszonym systemie. Replikacja typu data-in umożliwia również replikowanie danych z maszyny wirtualnej lub usługi bazy danych MySQL hostowanej przez innego dostawcę usług w chmurze.

Zagadnienia dotyczące replikacji typu data-in

Poniżej przedstawiono kilka czynników, które należy wziąć pod uwagę w przypadku replikacji typu data-in:

  • Serwery główne i repliki muszą być w tej samej wersji — i co najmniej w wersji 5.6.
  • Wzorzec i replika powinny używać aparatu InnoDB.
  • Każda tabela musi mieć klucz podstawowy.
  • Serwer usługi Azure Database for MySQL musi mieć warstwę cenową Ogólnego przeznaczenia lub Zoptymalizowane pod kątem pamięci.
  • Musisz mieć uprawnienia do tworzenia użytkowników i konfigurowania rejestrowania binarnego na serwerze głównym.
  • Systemowa baza danych mysql nie jest replikowana. Konta i uprawnienia nie są replikowane z serwera głównego do repliki i powinny zostać utworzone ręcznie.

Kroki konfigurowania replikacji typu data-in

Istnieje kilka kroków konfigurowania replikacji typu data-in:

  • Utwórz serwer usługi Azure Database for MySQL, który będzie używany jako host repliki, i utwórz wszystkie niezbędne konta i uprawnienia użytkowników.
  • Skonfiguruj replikację na serwerze głównym.
  • Zrzut i przywracanie serwera głównego.
  • Użyj procedur składowanych replikacji danych w celu skonfigurowania serwera docelowego.

Aby uzyskać więcej informacji, zobacz How to configure Azure Database for MySQL Data-in Replication (Jak skonfigurować replikację danych usługi Azure Database for MySQL).

Repliki do odczytu

Repliki do odczytu używają natywnej technologii replikacji MySQL do tworzenia asynchronicznych wystąpień replik serwerów usługi Azure Database for MySQL. Serwery repliki są tylko do odczytu i może istnieć do pięciu replik dla każdego wzorca. Dla każdej repliki do odczytu miesięczny koszt jest naliczany na podstawie rdzeni wirtualnych i używanego magazynu.

Używa dla replik do odczytu

Serwery raportowania

Tworząc replikę tylko do odczytu serwera głównego, kierujesz wszystkie obciążenia raportowania, analizy biznesowej i analityczne do repliki. Spowoduje to usunięcie obciążenia z serwera głównego i zmniejszenie konfliktów podczas uruchamiania obciążeń intensywnie korzystających z zapisu na serwerze głównym.

Zbliżanie danych do użytkowników

Repliki między regionami umożliwiają zbliżenie danych do użytkowników i zwiększenie szybkości odczytu. Repliki między regionami mogą znajdować się w regionie repliki uniwersalnej lub sparowanym regionie serwera głównego. Dostępne regiony są wyświetlane podczas tworzenia serwera repliki.

Image showing replica regions

Konfigurowanie replik do odczytu

Replikę do odczytu można skonfigurować w witrynie Azure Portal:

Image showing replication setting in the Azure portal

Następnie należy określić nazwę i region repliki:

Image showing replication in the Azure portal

Uwaga

Repliki do odczytu nie są dostępne w podstawowej warstwie cenowej.

Aby uzyskać więcej informacji na temat replik do odczytu, zobacz Repliki do odczytu w usłudze Azure Database for MySQL.

Zarządzanie i monitorowanie

Usługa Azure Database for MySQL oferuje szeroką gamę narzędzi do monitorowania, które ułatwiają optymalizowanie serwera, powiadamianie o zdarzeniach i proaktywne reagowanie na metryki. Możesz również użyć znanych narzędzi administracyjnych MySQL, takich jak najnowsze wersje programu MySQL Workbench, PHPMy Administracja i Navicat, do zarządzania i monitorowania serwerów usługi Azure Database for MySQL:

Image showing the MySQL Workbench tool connected to Azure Database for MySQL

Narzędzia platformy Azure do monitorowania usługi Azure Database for MySQL

Narzędzia dostępne w witrynie Azure Portal do zarządzania usługą Azure Database for MySQL i monitorowania ich obejmują następujące elementy:

  • Metryki platformy Azure. Metryki zapewniają dane liczbowe co minutę i są przechowywane przez 30 dni. Istnieje wiele metryk używanych do monitorowania serwera — możesz również skonfigurować alerty w celu reagowania na metryki.

    Image showing Azure metrics

    Aby uzyskać więcej informacji, zobacz Platformę danych usługi Azure Monitor.

  • Dzienniki serwera i inspekcji. Dzienniki serwera umożliwiają monitorowanie wolnych zapytań i zapewnianie rejestrowania inspekcji dla serwera. Dzienniki serwera są dostępne poza usługą SQL Database for MySQL za pośrednictwem dzienników diagnostycznych platformy Azure.

    Image showing Azure server logs

    Aby uzyskać więcej informacji, zobacz Dzienniki wolnych zapytań w usłudze Azure Database for MySQL . Dzienniki inspekcji to funkcja w wersji zapoznawczej umożliwiająca rejestrowanie inspekcji w celu śledzenia aktywności bazy danych. Aby włączyć rejestrowanie inspekcji, ustaw parametr audit_log_enabled na . Aby uzyskać więcej informacji na temat dzienników inspekcji, zobacz Dzienniki inspekcji w usłudze Azure Database for MySQL.

  • Magazyn zapytań. Służy do śledzenia wydajności serwera w czasie i zapewniania informacji dotyczących rozwiązywania problemów. Magazyn zapytań zachowuje historię zapytań i statystyki czasu wykonywania, dzięki czemu można identyfikować zapytania intensywnie korzystające z zasobów lub długotrwałe. Aby włączyć magazyn zapytań, ustaw parametr serwera query_store_capture_mode na ALL: Image showing Query Store capture mode

    Aby wyświetlić dane magazynu zapytań dotyczące zapytań, uruchom następujące zapytanie:

    SELECT * FROM mysql.query_store;
    

    Aby wyświetlić dane dotyczące statystyk oczekiwania, uruchom następujące zapytanie:

    SELECT * FROM mysql.query_store_wait_stats;
    

    Uwaga

    Magazyn zapytań jest funkcją w wersji zapoznawczej i nie jest dostępny w podstawowej warstwie cenowej.

    Aby uzyskać więcej informacji na temat magazynu zapytań, zobacz Monitorowanie wydajności usługi Azure Database for MySQL za pomocą magazynu zapytań.

  • Szczegółowe informacje o wydajności zapytań. Szczegółowe informacje o wydajności zapytań wyświetla dane z magazynu zapytań jako wizualizacje, aby umożliwić identyfikowanie zapytań wpływających na wydajność. Szczegółowe informacje o wydajności zapytań znajduje się w sekcji Inteligentnej wydajności usługi Azure Database for MySQL w witrynie Azure Portal.

    Uwaga

    Szczegółowe informacje o wydajności zapytań to funkcja w wersji zapoznawczej i nie jest dostępna w podstawowej warstwie cenowej.

    Aby uzyskać więcej informacji na temat szczegółowych informacji o wydajności zapytań, zobacz Szczegółowe informacje o wydajności zapytań w usłudze Azure Database for MySQL.

  • Zalecenia dotyczące wydajności. Wydajność Rekomendacje używa danych z magazynu zapytań do analizowania obciążeń i łączy je z cechami bazy danych, aby zasugerować nowe indeksy w celu zwiększenia wydajności. Rekomendacje wydajności znajduje się w sekcji Inteligentnej wydajności usługi Azure Database for MySQL w witrynie Azure Portal.

    Uwaga

    Rekomendacje wydajności jest funkcją w wersji zapoznawczej i nie jest dostępna w podstawowej warstwie cenowej.

    Aby uzyskać więcej informacji na temat Rekomendacje wydajności, zobacz Performance Rekomendacje in Azure Database for MySQL (Wydajność Rekomendacje w usłudze Azure Database for MySQL).

Łączność z klientem

Sterowniki MySQL

Usługa Azure Database for MySQL używa wersji Community Edition MySQL i jest zgodna z szeroką gamą sterowników — obsługuje różne języki programowania. Ciągi Połączenie ion są dostępne w witrynie Azure Portal:

Image showing connection strings

Aby uzyskać więcej informacji na temat sterowników MySQL, zobacz Sterowniki mySQL i narzędzia do zarządzania zgodne z usługą Azure Database for MySQL

Konfigurowanie zapory

Najprostszym sposobem skonfigurowania zapory jest użycie ustawień zabezpieczeń Połączenie ion dla usługi w witrynie Azure Portal. Dodaj regułę dla każdego zakresu adresów IP klienta. Możesz również użyć tej strony, aby wymusić połączenia SSL z usługą.

Image showing the firewall configuration for Azure Database for PostgreSQL

Kliknij pozycję Dodaj adres IP klienta na pasku narzędzi, aby dodać adres IP komputera stacjonarnego.

Jeśli skonfigurowano repliki tylko do odczytu, należy dodać regułę zapory do każdego z nich, aby były dostępne dla klientów.

Przejściowe błędy połączeń

W przypadku nawiązywania połączenia z bazą danych przez Internet błędy połączeń przejściowych są nieuniknione i powinny być obsługiwane przez aplikacje klienckie.

Aby uzyskać informacje na temat przejściowych błędów łączności, zobacz Obsługa przejściowych błędów łączności dla usługi Azure Database for MySQL.

Funkcje mySQL, które nie są obsługiwane w usłudze Azure Database for MySQL

Chociaż większość funkcji w bazie danych MySQL jest dostępna w usłudze Azure Database for MySQL, niektóre z nich nie są obsługiwane. Należy przejrzeć te funkcje, aby upewnić się, że można rozwiązać wszelkie potencjalne problemy podczas migracji.

Aparaty magazynujące

Usługa Azure Database for MySQL obsługuje aparaty magazynu InnoDB i MEMORY. InnoDB to domyślny aparat magazynu dla programu MySQL, który zapewnia równowagę między wysoką wydajnością i wysoką niezawodnością. Wszystkie nowe tabele w bazie danych MySQL będą używać aparatu magazynu InnoDB, chyba że określono inaczej.

Aby uzyskać więcej informacji na temat aparatu magazynu InnoDB, zobacz Wprowadzenie do bazy danych InnoDB.

Aby przechowywać dane w pamięci, aparat magazynu PAMIĘCI jest dostępny. Te dane są narażone na awarię lub awarię — aparat magazynu PAMIĘCI powinien być używany tylko jako tymczasowy magazyn o wysokiej wydajności.

Aby uzyskać więcej informacji na temat aparatu magazynu PAMIĘCI, zobaczAparat magazynu PAMIĘCI.

Aparaty magazynów MyISAM, BLACKHOLE, ARCHIVE i FEDERATED nie są obsługiwane w usłudze Azure Database for MySQL. Dane myISAM należy przekonwertować na aparat magazynu InnoDB. Aparaty magazynu BLACKHOLE, ARCHIVE i FEDERATED pełnią specjalistyczne role i nie są używane jako typowe magazyny danych.

Uprawnienia i role

Rola administratora bazy danych nie jest uwidoczniona, ponieważ wiele ustawień serwera i parametrów może przerwać reguły transakcji i obniżyć wydajność. Z podobnych powodów uprawnienie SUPER jest ograniczone, podobnie jak klauzula DEFINER , która używa uprawnień SUPER .

Przywracanie

Dwie funkcje przywracania działają inaczej w usłudze Azure Database for MySQL:

  • Przywracanie do punktu w czasie tworzy nowy serwer z identyczną konfiguracją serwera, na którym jest oparty.
  • Nie można przywrócić usuniętego serwera.