Jak wdrożyć usługę Azure Database for MySQL i nawiązać z nią połączenie
Ogólne zrozumienie możliwości usługi Azure Database for MySQL — serwer elastyczny może pomóc w zidentyfikowaniu optymalnych ustawień wdrażania dla środowisk deweloperskich, testowych i produkcyjnych aplikacji internetowych. Kluczowe decyzje, takie jak wybieranie docelowego regionu platformy Azure, strefowo nadmiarowej wysokiej dostępności i nadmiarowości kopii zapasowych, należy podjąć na etapie projektowania. Inne decyzje, takie jak przydzielanie zasobów obliczeniowych i magazynowych, są oparte na wzorcach użycia, które zmieniają się w czasie.
Poprzednie lekcji tego modułu powinny pomóc w fazie projektowania i planowania. Teraz skoncentrujmy się na tym, jak wdrożyć serwer elastyczny usługi Azure Database for MySQL i nawiązać z nim połączenie, gdy wszystko będzie gotowe do wdrożenia w ramach własnego rozwiązania.
Zrozumienie zależności między różnymi ustawieniami konfiguracji jest kluczem do podejmowania odpowiednich wyborów podczas wdrażania. Szczególnie ważne jest, aby pamiętać:
- Wyłączenie automatycznego zwiększania magazynu nie jest obsługiwane w przypadku serwerów z włączoną wysoką dostępnością.
- Wysoka dostępność nie jest obsługiwana w warstwie z możliwością serii, chociaż można wdrożyć serwer w określonej strefie dostępności.
Jak wdrożyć elastyczny serwer usługi Azure Database for MySQL
Aby aprowizować serwer elastyczny usługi Azure Database for MySQL, możesz użyć kilku różnych metod. Chociaż można używać w pełni zautomatyzowanych wdrożeń, najprostszą metodą wdrażania jest utworzenie wystąpienia za pośrednictwem witryny Azure Portal, graficznego interfejsu użytkownika (GUI). Podczas tworzenia wystąpienia za pośrednictwem portalu można skonfigurować szereg ustawień serwera, które można podzielić na pięć grup: Podstawy, Obliczenia i magazyn, Sieć, Zabezpieczenia i Tagi. Każda grupa i jej odpowiednie opcje ustawień są prezentowane na stronie:
Strona Podstawowe zawiera ustawienia, których można użyć do skonfigurowania:
Szczegóły projektu: nazwa docelowej subskrypcji i grupy zasobów.
Szczegóły serwera:
- Nazwa serwera
- Docelowy region świadczenia usługi Azure
- Wersja programu MySQL i warstwa obliczeniowa
- Numer strefy dostępności
Metoda uwierzytelniania. Wybierz uwierzytelnianie MySQL, uwierzytelnianie Microsoft Entra ID lub kombinację tych dwóch metod.
Uwaga
W zależności od wybranego rozmiaru obliczeniowego i regionu Wybór strefy dostępności może nie być dostępny w tym kroku.
Strona Obliczenia i magazyn , do której uzyskujesz dostęp z poziomu strony Podstawy za pośrednictwem linku Konfigurowanie serwera , zawiera ustawienia, których można użyć do skonfigurowania:
Liczyć. Opcje warstwy obliczeniowej i rozmiaru obliczeniowego.
Magazyn. Rozmiar magazynu (w giB), liczba operacji we/wy na sekundę (lub skalowanie automatyczne) oraz opcja Automatycznego zwiększania magazynu.
Wysoka dostępność. Tryb wysokiej dostępności (ta sama strefa lub strefa nadmiarowa).
Kopie zapasowe. Okres przechowywania kopii zapasowych i opcja nadmiarowości geograficznej kopii zapasowej.
Strona Sieć umożliwia określenie metody łączności. W zależności od wybranego wyboru możesz również zezwolić na dostęp publiczny z dowolnej usługi platformy Azure, skonfigurować reguły zapory, skonfigurować integrację sieci wirtualnej lub utworzyć prywatne punkty końcowe.
Strona Zabezpieczenia zawiera opcje konfigurowania szyfrowania danych w celu szyfrowania baz danych, kopii zapasowych i dzienników magazynowanych bez żadnych zmian w aplikacji, oprócz szyfrowania magazynu skonfigurowanego domyślnie.
Strona Tagi dodaje pary klucz-wartość, które definiują metadane dla wdrożonego zasobu.
Jak nawiązać połączenie z elastycznym serwerem usługi Azure Database for MySQL
Przed nawiązaniem połączenia z serwerem elastycznym należy wziąć pod uwagę konfigurację sieci zaimplementowaną podczas wdrażania. Jeśli na przykład serwer elastyczny jest skonfigurowany z dostępem publicznym i zdecydujesz się nawiązać połączenie z usługi Azure Cloud Shell lub innych aplikacji klienckich, które nie mają bezpośredniego dostępu sieciowego do bazy danych, włącz opcję Zezwalaj na dostęp publiczny z dowolnej usługi platformy Azure na tym serwerze zapory serwera . Podczas nawiązywania połączenia z lokalnego serwera aplikacji lub urządzenia połączonego z Internetem dodaj publiczny adres IP urządzenia lub usługi łączącej się z listą wyjątków zapory.
W przypadku bezpiecznych połączeń z maszyn wirtualnych platformy Azure lub konteneryzowanych obciążeń uruchomionych na platformie Azure rozważ włączenie prywatnych punktów końcowych. Prywatne punkty końcowe umożliwiają bezpieczne łączenie się z serwerem elastycznym za pośrednictwem sieci prywatnej, eliminując narażenie na publiczny Internet. Ponadto upewnij się, że sieć, z której nawiązujesz połączenie, zezwala na ruch wychodzący do platformy Azure za pośrednictwem portu TCP 3306, który jest wymagany przez serwer elastyczny usługi Azure Database for MySQL.
Ponieważ szyfrowanie jest domyślnie włączone dla nowych wdrożeń, należy pobrać certyfikat publiczny zainstalowany na serwerze i użyć go podczas nawiązywania połączenia za pośrednictwem protokołu TLS 1.2.
Po rozwiązaniu wymagań dotyczących sieci i certyfikatów powinno być możliwe nawiązanie połączenia z elastycznym serwerem usługi Azure Database for MySQL i wykonywanie zapytań na kilka różnych sposobów, w tym przy użyciu:
Interfejs wiersza polecenia platformy Azure (az mysql) lub azure Cloud Shell
- Aby nawiązać połączenie, użyj następującego formatu polecenia w interfejsie wiersza polecenia platformy Azure:
az mysql flexible-server connect --name <server-name> --user <username>
- Aby nawiązać połączenie, użyj następującego formatu polecenia w interfejsie wiersza polecenia platformy Azure:
mysql.exe narzędzie wiersza polecenia
- Aby nawiązać połączenie, użyj następującego formatu polecenia w narzędziu wiersza polecenia MySQL:
mysql -h <server-name>.mysql.database.azure.com -u <username> -p
- Aby nawiązać połączenie, użyj następującego formatu polecenia w narzędziu wiersza polecenia MySQL:
Narzędzie graficzne MySQL Workbench
- Użyj następujących szczegółów połączenia w narzędziu graficznym MySQL Workbench:
- Nazwa hosta:
<server-name>.mysql.database.azure.com
- Port: 3306
- Nazwa użytkownika:
<username>
- Hasło:
<your-password>
- Nazwa hosta:
- Użyj następujących szczegółów połączenia w narzędziu graficznym MySQL Workbench:
Narzędzie Azure Data Studio z rozszerzeniem MySQL
- Uruchom program Azure Data Studio i upewnij się, że zainstalowano rozszerzenie MySQL.
- Wybierz ikonę Nowe połączenie lub przejdź do pozycji Plik>Nowe zapytanie.
- W oknie dialogowym połączenie w polu Typ połączenia wybierz pozycję MySQL.
- Określ szczegóły połączenia:
- Nazwa serwera:
<server-name>.mysql.database.azure.com
- Nazwa użytkownika:
<username>
- Hasło:
<your-password>
— alternatywnie możesz zalogować się przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft. - Port: 3306
- Nazwa bazy danych (opcjonalnie): określ określoną nazwę bazy danych do nawiązania połączenia lub pozostaw pole puste, aby wyświetlić listę wszystkich baz danych
- Nazwa serwera:
- Tryb SSL:
- Wybierz pozycję Wymagaj lub Weryfikuj urząd certyfikacji.
- Pobierz certyfikat SSL, jeśli używasz trybu Weryfikowanie urzędu certyfikacji.
- Wybierz pozycję Testuj połączenie , aby upewnić się, że wszystkie szczegóły są poprawne.
- Opcjonalnie możesz zapisać szczegóły połączenia do użycia w przyszłości, wybierając pozycję Zapisz hasło.
- Wybierz pozycję Połącz, aby nawiązać połączenie z serwerem elastycznym usługi Azure Database for MySQL.
Wiele języków programowania, takich jak PHP, Java, Python, C#, C++, JavaScript, Rust, Go i Ruby.
Oto podstawowy przykład nawiązywania połączenia z elastycznym serwerem usługi Azure Database for MySQL przy użyciu ulepszonego rozszerzenia PHP (mysqli):
<?php
$host = '<server-name>.mysql.database.azure.com';
$username = '<username>';
$password = '<your-password>';
$db_name = '<database-name>';
//Establish the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run a query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res)) {
var_dump($row);
}
//Close the connection
mysqli_close($conn);
?>
Uwaga
Aby uzyskać więcej informacji na temat programowego nawiązywania połączenia z serwerem elastycznym usługi Azure Database for MySQL, zobacz Microsoft Learn.