Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Alternatywy MySQL Workbench — zarządzanie konfiguracją ClusterControl

Zarządzanie konfiguracją MySQL składa się z dwóch głównych komponentów - plików konfiguracyjnych MySQL i konfiguracji środowiska wykonawczego. Wprowadzanie zmian konfiguracyjnych w środowisku uruchomieniowym może odbywać się za pośrednictwem klientów serwera MySQL bez uprawnień do zmiennych sesyjnych, ale z uprawnieniami SUPER do zmiennych globalnych. Zastosowanie tych samych zmian konfiguracyjnych w pliku konfiguracyjnym MySQL jest również konieczne, aby zmiany były trwałe podczas restartów MySQL, w przeciwnym razie podczas uruchamiania zostaną załadowane wartości domyślne.

W tym poście na blogu przyjrzymy się ClusterControl Configuration Management jako alternatywie dla zarządzania konfiguracją MySQL Workbench.

Zarządzanie konfiguracją MySQL Workbench

MySQL Workbench to graficzny klient do pracy z serwerami i bazami danych MySQL dla serwerów w wersji 5.x i wyższych. Jest swobodnie dostępny i powszechnie używany przez administratorów SysAdminów, administratorów baz danych i programistów do wykonywania programowania SQL, modelowania danych, administrowania serwerem MySQL i migracji danych.

Możesz użyć MySQL Workbench do zarządzania konfiguracją MySQL/MariaDB na zdalnym serwerze MySQL. Aby włączyć tę funkcję, należy jednak wykonać kilka wstępnych czynności. W MySQL Workbench wybierz istniejący profil połączenia i wybierz opcję Konfiguruj zdalne zarządzanie. Zostanie wyświetlony kreator konfiguracji krok po kroku, który pomoże Ci skonfigurować zdalne zarządzanie profilem połączenia:

Na początku podejmowana jest próba połączenia w celu ustalenia wersji serwera i system operacyjny maszyny docelowej. Pozwala to na sprawdzenie poprawności ustawień połączenia i umożliwia kreatorowi wybranie znaczącego ustawienia wstępnego konfiguracji. Jeśli ta próba się nie powiedzie, nadal możesz przejść do następnego kroku, w którym możesz dalej dostosować ustawienia, aby pasowały do ​​środowiska zdalnego serwera.

Po zakończeniu konfiguracji połączenia zdalnego kliknij dwukrotnie profil połączenia, aby rozpocząć łączenie z instancją MySQL. Następnie przejdź do Instancja -> Plik opcji, aby otworzyć sekcję menedżera konfiguracji. Powinieneś zobaczyć coś podobnego do poniższego zrzutu ekranu:

Wszystkie istniejące zmienne konfiguracyjne z pliku konfiguracyjnego są wstępnie ładowane do tej konfiguracji menedżera, dzięki czemu możesz zobaczyć, jakie opcje zostały włączone z odpowiednimi wartościami. Konfiguracje są podzielone na kilka sekcji – Ogólne, rejestrowanie, InnoDB, sieci itd. – co naprawdę pomaga nam skupić się na określonych funkcjach, które chcemy poprawić lub włączyć.

Gdy jesteś zadowolony ze zmian, a przed kliknięciem "Zastosuj", upewnij się, że wybrałeś właściwą sekcję grupy MySQL z menu rozwijanego (tuż obok przycisku Odrzuć). Po zastosowaniu, powinieneś zobaczyć, że konfiguracja została zastosowana do serwera MySQL, gdzie pojawi się nowa linia (jeśli nie istnieje) w pliku konfiguracyjnym MySQL.

Zwróć uwagę, że kliknięcie przycisku „Zastosuj” nie spowoduje przeniesienia odpowiedniej zmiany do środowiska wykonawczego MySQL. Należy wykonać operację restartu na serwerze MySQL, aby wczytać nowe zmiany w konfiguracji, przechodząc do Instance -> Startup/Shutdown. Spowoduje to zmniejszenie dostępności Twojej bazy danych.

Aby zobaczyć wszystkie załadowane statusy i zmienne systemu, przejdź do Zarządzanie -> Status i zmienne systemowe:

Zarządzanie konfiguracją ClusterControl

Dostęp do Menedżera konfiguracji ClusterControl można uzyskać w Zarządzaj -> Konfiguracje. ClusterControl pobiera wiele ważnych plików konfiguracyjnych i wyświetla je w strukturze drzewa. Scentralizowany widok tych plików jest kluczem do skutecznego zrozumienia i rozwiązywania problemów z konfiguracjami rozproszonych baz danych. Poniższy zrzut ekranu przedstawia menedżera plików konfiguracyjnych ClusterControl, który wylistował wszystkie powiązane pliki konfiguracyjne dla tego klastra w jednym widoku z podświetlaniem składni:

Jak widać na powyższym zrzucie ekranu, ClusterControl rozumie MySQL "!include " i przejdzie przez wszystkie powiązane z nim pliki konfiguracyjne. Na przykład, z hosta 192.168.0.21 pobierane są dwa pliki konfiguracyjne MySQL, /etc/my.cnf i /etc/my.cnf.d/secrets-backup.cnf. Możesz otworzyć wiele plików konfiguracyjnych w innej karcie edytora, co ułatwia porównywanie zawartości obok siebie. ClusterControl pobiera również informacje o ostatniej modyfikacji pliku ze znacznika czasu systemu operacyjnego, jak pokazano w prawym dolnym rogu edytora tekstu.

ClusterControl eliminuje powtarzalność podczas zmiany opcji konfiguracyjnej klastra bazy danych. Zmiana opcji konfiguracji na wielu węzłach może być wykonana za pośrednictwem jednego interfejsu i zostanie odpowiednio zastosowana do węzła bazy danych. Po kliknięciu „Zmień/Ustaw parametr” możesz wybrać instancje bazy danych, które chcesz zmienić, i określić grupę konfiguracji, parametr i wartość:

Możesz dodać nowy parametr do pliku konfiguracyjnego lub zmodyfikować istniejący parametr . Parametr zostanie zastosowany do środowiska uruchomieniowego wybranych węzłów bazy danych oraz do pliku konfiguracyjnego, jeśli opcja przejdzie proces walidacji zmiennych. Niektóre zmienne mogą wymagać dalszych kroków, takich jak ponowne uruchomienie serwera lub ponowne załadowanie konfiguracji, co zostanie następnie zalecone przez ClusterControl.

Wszystkie usługi skonfigurowane przez ClusterControl używają podstawowego szablonu konfiguracji dostępnego w katalogu /usr/share/cmon/templates w węźle ClusterControl. Możesz bezpośrednio zmodyfikować plik, aby dostosować go do zasad wdrażania, jednak ten katalog zostanie zastąpiony po aktualizacji pakietu. Aby upewnić się, że niestandardowe pliki szablonów konfiguracji będą zachowywać się podczas aktualizacji, przechowuj je w katalogu /etc/cmon/templates. Gdy ClusterControl ładuje plik szablonu do wdrożenia, pliki w /etc/cmon/templates zawsze będą miały wyższy priorytet niż pliki w /usr/share/cmon/templates. Jeśli w obu katalogach istnieją dwa pliki o identycznych nazwach, zostanie użyty ten znajdujący się w /etc/cmon/templates.

Przejdź do Wydajność -> Zmienne DB, aby sprawdzić konfigurację środowiska uruchomieniowego dla wszystkich serwerów w klastrze:

Zwróć uwagę na linię podświetloną na czerwono na powyższym zrzucie ekranu? Oznacza to, że konfiguracja nie jest identyczna we wszystkich węzłach. Zapewnia to lepszą widoczność różnic w konfiguracji między hostami w określonym klastrze bazy danych.

Workbench a ClusterControl:zalety i wady

Każdy produkt ma swoje zalety i wady. W przypadku ClusterControl, ponieważ rozumie klastry i topologię, jest najlepszym menedżerem konfiguracji do zarządzania wieloma węzłami bazy danych jednocześnie. Obsługuje wielu dostawców MySQL, takich jak MariaDB, Percona, a także wszystkie warianty Galera Cluster. Rozumie również format konfiguracji równoważenia obciążenia bazy danych dla HAProxy, MariaDB MaxScale, ProxySQL i Keepalived. Ponieważ ClusterControl wymaga konfiguracji SSH bez hasła na początku importowania/wdrażania klastra, zarządzanie konfiguracją nie wymaga zdalnej konfiguracji, takiej jak Workbench, i działa od razu po zarządzaniu hostami przez ClusterControl. Zmiany konfiguracji MySQL wykonane przez ClusterControl zostaną automatycznie załadowane do środowiska wykonawczego (dla wszystkich obsługiwanych zmiennych), a także zapisane w plikach konfiguracyjnych MySQL w celu utrwalenia. Jeśli chodzi o wady, zarządzanie konfiguracją ClusterControl nie zawiera opisów konfiguracji, które mogłyby pomóc nam przewidzieć, co się stanie, jeśli zmienimy opcję konfiguracji. Nie obsługuje wszystkich platform, które może uruchomić MySQL, w szczególności tylko niektórych dystrybucji Linuksa, takich jak CentOS, RHEL, Debian i Ubuntu.

MySQL Workbench obsługuje zdalne zarządzanie wieloma systemami operacyjnymi, takimi jak Windows, FreeBSD, MacOS, Open Solaris i Linux. MySQL Workbench jest dostępny za darmo i może być również używany z innymi dostawcami MySQL, takimi jak Percona i MariaDB (pomimo nie wymienionego tutaj, działa z niektórymi starszymi wersjami MariaDB). Obsługuje również zarządzanie instalacją z pakietu TAR. Pozwala na pewne dostosowania ścieżki pliku konfiguracyjnego, poleceń service/stop i nazewnictwa sekcji grup MySQL. Jedną z fajnych funkcji jest to, że MySQL Workbench używa rozwijanego menu dla stałych wartości, co może być ogromną pomocą w zmniejszeniu ryzyka błędnej konfiguracji przez użytkownika, jak pokazano na poniższym zrzucie ekranu:

Z drugiej strony MySQL Workbench nie obsługuje zarządzania konfiguracją wielu hostów, trzeba wykonać zmianę konfiguracji na każdym hoście osobno. Nie wprowadza również zmian konfiguracyjnych do środowiska wykonawczego, bez jawnego restartu MySQL, który może zakłócić czas działania usługi bazy danych.

Poniższa tabela upraszcza istotne różnice zaczerpnięte ze wszystkich wymienionych punktów:

Aspekt konfiguracji

Środowisko pracy MySQL

ClusterControl

Obsługiwany system operacyjny dla serwera MySQL

  • Linux
  • Windows
  • FreeBSD
  • Otwórz Solaris
  • Mac OS
  • Linux (Debian, Ubuntu, RHEL, CentOS)

Dostawca MySQL

  • Wyrocznia
  • Percona
  • Wyrocznia
  • Percona
  • MariaDB
  • Kodeks

Obsługa innego oprogramowania

 
  • HAProxy
  • ProxySQL
  • MariaDB MaxScale
  • Przechowywane

Konfiguracja/Opis zmiennej

Tak

Nie

Podświetlanie składni pliku konfiguracyjnego

Nie

Tak

Rozwiń wartości konfiguracyjne

Tak

Nie

Konfiguracja z wieloma hostami

Nie

Tak

Automatyczne wypychanie konfiguracji do środowiska wykonawczego

Nie

Tak

Szablon konfiguracji

Nie

Tak

Koszt

Bezpłatne

Wymagana subskrypcja do zarządzania konfiguracją

Mamy nadzieję, że ten wpis na blogu pomoże Ci określić, które narzędzie jest odpowiednie do zarządzania konfiguracjami Twoich serwerów MySQL. Możesz także wypróbować nasze nowe narzędzie do zarządzania plikami konfiguracyjnymi (obecnie w wersji alfa)
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Formatowanie wiersza poleceń MySQL za pomocą UTF8

  2. Jak konwertować wielkie litery na małe litery w MySQL

  3. Prawdziwy łańcuch ucieczki i PDO

  4. Jakie są różnice między utf8_general_ci a utf8_unicode_ci?

  5. PHP MySQLI zapobiega wstrzykiwaniu SQL