Ograniczenia w usłudze Azure Database for MySQL — serwer elastyczny
W tym artykule opisano ograniczenia dotyczące usługi Azure Database for MySQL — serwer elastyczny. Obowiązują również ogólne ograniczenia aparatu bazy danych MySQL. Jeśli chcesz dowiedzieć się więcej na temat ograniczeń zasobów (zasobów obliczeniowych, pamięci, magazynu), zobacz artykuł dotyczący zasobów obliczeniowych i magazynowych.
Parametry serwera
Usługa Azure Database for MySQL — serwer elastyczny obsługuje dostrajanie wartości parametrów serwera. Minimalne i maksymalne wartości niektórych parametrów (na przykład , max_connections
, join_buffer_size
query_cache_size
) są określane przez warstwę obliczeniową i przed obliczeniu rozmiaru serwera. Aby uzyskać więcej informacji na temat tych limitów, wraz z minimalnymi i maksymalnymi wartościami parametrów serwera, takich jak max_connections
i , zobacz artykuł o parametrachinnodb_buffer_pool_size
serwera.
Wygenerowane niewidoczne klucze podstawowe
W przypadku programu MySQL w wersji 8.0 lub nowszej generowane niewidoczne klucze podstawowe (GIPKs) są domyślnie włączone dla wszystkich wystąpień usługi Azure Database for MySQL — serwer elastyczny.
Serwery MySQL 8.0 lub nowsze dodają niewidoczną kolumnę my_row_id
do tabel i klucza podstawowego w tej kolumnie, w której jest tworzona tabela InnoDB bez jawnego klucza podstawowego. Z tego powodu nie można utworzyć tabeli, która ma kolumnę o nazwie my_row_id
, chyba że instrukcja tworzenia tabeli określa również jawny klucz podstawowy. Dowiedz się więcej.
Domyślnie zestawy GIPKs są wyświetlane w danych wyjściowych polecenia SHOW CREATE TABLE, SHOW COLUMNS i SHOW INDEX. Zestawy GIPKs są również widoczne w tabelach INFORMATION_SCHEMA
COLUMNS i STATISTICS .
Aby uzyskać więcej informacji na temat zestawów GIPKs i ich przypadków użycia z replikacją typu data-in, zobacz Replikowanie danych do usługi Azure Database for MySQL — serwer elastyczny.
Kroki wyłączania zestawu GIPK
Jeśli chcesz wyłączyć zestaw GIPK, masz dwie opcje:
Zmień wartość parametru serwera sql_generate_invisible_primary_key na
OFF
przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.Połącz się z wystąpieniem usługi Azure Database for MySQL — serwer elastyczny i uruchom następujące polecenie:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
W usłudze Azure Database for MySQL — serwer elastyczny wartość lower_case_table_names
domyślna to 1
MySQL w wersji 5.7. Jeśli musisz dostosować to ustawienie, zalecamy utworzenie biletu pomocy technicznej. Ważne jest, aby zrozumieć, że po zmianie wartości parametru na 2
, przywrócenie jej wartości 1
na nie jest dozwolone.
W przypadku programu MySQL w wersji 8.0 zmiana lower_case_table_names
ustawienia po zainicjowaniu serwera jest zabroniona. Dowiedz się więcej. W usłudze Azure Database for MySQL — serwer elastyczny wartość lower_case_table_names
domyślna to 1
MySQL w wersji 8.0. Jeśli chcesz zmienić ten parametr na 2
, sugerujemy utworzenie serwera MySQL 5.7 i utworzenie biletu pomocy technicznej w celu uzyskania pomocy dotyczącej zmiany. W razie potrzeby można uaktualnić serwer do wersji 8.0.
Aparaty magazynujące
Program MySQL obsługuje wiele aparatów magazynu. Na poniższych listach przedstawiono, które aparaty magazynu są obsługiwane i nieobsługiwane w usłudze Azure Database for MySQL — serwer elastyczny.
Obsługiwane aparaty
Nieobsługiwane aparaty
Obsługa uprawnień i manipulowania danymi
Wiele parametrów i ustawień serwera może przypadkowo obniżyć wydajność serwera lub negować właściwości ACID (niepodzielne, spójne, izolowane i trwałe) serwera MySQL. Aby zachować integralność usług i umowę dotyczącą poziomu usług na poziomie produktu, usługa Azure Database for MySQL — serwer elastyczny nie uwidacznia wielu ról.
Azure Database for MySQL — serwer elastyczny nie zezwala na bezpośredni dostęp do bazowego systemu plików. Niektóre polecenia manipulowania danymi nie są obsługiwane.
Obsługiwane uprawnienia
LOAD DATA INFILE
jest obsługiwany, ale należy określić[LOCAL]
parametr i skierować go do ścieżki UNC (usługa Azure Storage instalowana za pośrednictwem bloku komunikatów serwera). Jeśli używasz klienta MySQL w wersji 8.0 lub nowszej, musisz uwzględnić-–local-infile=1
parametr w parametry połączenia.W przypadku programu MySQL w wersji 8.0 lub nowszej obsługiwane są tylko następujące uprawnienia dynamiczne:
Nieobsługiwane uprawnienia
Rola administratora bazy danych (DBA) jest ograniczona. Alternatywnie możesz użyć roli administratora przypisanego podczas tworzenia nowego serwera. Ta rola umożliwia wykonywanie większości instrukcji Języka definicji danych (DDL) i Języka manipulowania danymi (DML).
Następujące uprawnienia statyczne są ograniczone:
Udzielanie uprawnień BACKUP_ADMIN nie jest obsługiwane w przypadku tworzenia kopii zapasowych przy użyciu narzędzi migracji.
DEFINER
wymagaSUPER
uprawnień do utworzenia i ograniczenia. Jeśli importujesz dane przy użyciu kopii zapasowej, ręcznie usuńCREATE DEFINER
polecenia lub użyj--skip-definer
polecenia podczas wykonywania kopii zapasowej mysqlpump .Systemowa baza danych mysql jest tylko do odczytu i obsługuje różne funkcje platformy jako usługi (PaaS). Nie można wprowadzać zmian w systemowej
mysql
bazie danych.SELECT ... INTO OUTFILE
nie jest obsługiwana w usłudze.
Ograniczenia funkcjonalne
Strefowo nadmiarowa wysoka dostępność
Konfigurację wysokiej dostępności strefowo nadmiarowej można ustawić tylko podczas tworzenia serwera. Ta konfiguracja nie jest obsługiwana w warstwie obliczeniowej z możliwością rozszerzenia.
Sieć
Nie można zmienić metody łączności po utworzeniu serwera. Jeśli utworzysz serwer z dostępem prywatnym (integracja z siecią wirtualną), nie można go zmienić na dostęp publiczny (dozwolone adresy IP) po utworzeniu i na odwrót.
Operacje zatrzymywania/uruchamiania
Operacje zatrzymywania i uruchamiania serwera nie są obsługiwane przy użyciu konfiguracji replik do odczytu (zarówno źródłowych, jak i replik).
Operacje skalowania
Zmniejszenie aprowizowanego magazynu serwera nie jest obsługiwane.
Uaktualnienia wersji serwera
Automatyczna migracja między głównymi wersjami aparatu bazy danych nie jest obsługiwana. Jeśli chcesz uaktualnić wersję główną, użyj zrzutu i przywracania na serwerze utworzonym przy użyciu nowej wersji aparatu.
Przywracanie serwera
W przypadku przywracania do punktu w czasie nowe serwery mają te same konfiguracje obliczeniowe i magazynowe co serwer źródłowy, na którym są oparte. Po utworzeniu serwera można skalować w dół nowo przywrócone zasoby obliczeniowe serwera.
Porównania funkcji
Nie wszystkie funkcje dostępne w usłudze Azure Database for MySQL — pojedynczy serwer są dostępne w usłudze Azure Database for MySQL — serwer elastyczny.
Aby uzyskać pełną listę porównań funkcji między usługą Azure Database for MySQL — pojedynczy serwer i usługą Azure Database for MySQL — serwer elastyczny, zobacz artykuł dotyczący wybierania odpowiedniej opcji serwera MySQL na platformie Azure.