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

Alternatywy MySQL Workbench — zarządzanie użytkownikami bazy danych ClusterControl

Zarządzanie użytkownikami i uprawnieniami MySQL jest bardzo ważne dla celów uwierzytelniania, autoryzacji i księgowania. Od wersji MySQL 8.0 istnieją teraz dwa rodzaje uprawnień użytkownika bazy danych:

  1. Uprawnienia statyczne — Wspólne uprawnienia globalne, schematowe i administracyjne, takie jak SELECT, ALTER, SUPER i USAGE, wbudowane w serwer.
  2. Uprawnienia dynamiczne — Nowość w MySQL 8.0. Komponent, który można zarejestrować i wyrejestrować w czasie wykonywania, który zapewnia lepszą kontrolę nad globalnymi uprawnieniami. Na przykład, zamiast przypisywać uprawnienia SUPER tylko do celów zarządzania konfiguracją, lepiej nadać temu konkretnemu użytkownikowi tylko uprawnienie SYSTEM_VARIABLES_ADMIN.

Tworzenie schematu bazy danych z odpowiednim użytkownikiem jest pierwszym krokiem do rozpoczęcia korzystania z MySQL jako serwera bazy danych. Większość aplikacji, które używają MySQL jako magazynu danych, wymaga wykonania tego zadania, zanim aplikacja będzie mogła działać zgodnie z przeznaczeniem. Aby używać z aplikacją, zwykle użytkownik MySQL jest skonfigurowany tak, aby miał pełne uprawnienia (WSZYSTKIE UPRAWNIENIA) na poziomie schematu, co oznacza, że ​​użytkownik bazy danych używany przez aplikację ma swobodę wykonywania wszelkich działań na przypisanej bazie danych.

W tym poście na blogu porównamy i porównamy funkcje zarządzania użytkownikami bazy danych MySQL między MySQL Workbench i ClusterControl.

Środowisko pracy MySQL — zarządzanie użytkownikami bazy danych

W przypadku MySQL Workbench wszystkie elementy zarządzania użytkownikami można znaleźć w Administracja -> Zarządzanie -> Użytkownik i uprawnienia. Powinieneś zobaczyć listę istniejących użytkowników po lewej stronie, podczas gdy po prawej stronie znajduje się sekcja konfiguracji uwierzytelniania i autoryzacji dla wybranego użytkownika:

MySQL obsługuje ponad 30 uprawnień statycznych i nie jest łatwy do zrozumienia i zapamiętania Centrum handlowe. MySQL Workbench posiada szereg predefiniowanych ról administracyjnych, co jest bardzo pomocne przy przydzielaniu wystarczających uprawnień użytkownikowi bazy danych. Na przykład, jeśli chcesz utworzyć użytkownika MySQL specjalnie do wykonywania czynności związanych z tworzeniem kopii zapasowych za pomocą mysqldump, możesz wybrać rolę BackupAdmin, a powiązane uprawnienia globalne zostaną odpowiednio przypisane do użytkownika:

Aby utworzyć nowego użytkownika bazy danych, kliknij przycisk „Dodaj konto” oraz podaj niezbędne informacje w zakładce "Zaloguj". Możesz dodać więcej ograniczeń zasobów w zakładce „Limit konta”. Jeśli użytkownik jest tylko dla schematu bazy danych i nie jest przeznaczony do żadnej roli administracyjnej (wyłącznie do użytku aplikacji), możesz pominąć kartę „Role administracyjne” i po prostu skonfigurować „Uprawnienia schematu”.

W sekcji „Uprawnienia schematu” można wybrać schemat bazy danych (lub zdefiniować pasujący wzorzec), klikając „Dodaj wpis”. Następnie naciśnij przycisk „Wybierz WSZYSTKIE”, aby zezwolić na wszystkie prawa (z wyjątkiem OPCJI PRZYZNANIA), co jest podobne do instrukcji opcji „WSZYSTKIE UPRAWNIENIA”:

Użytkownik bazy danych nie zostanie utworzony na serwerze MySQL, dopóki nie złożysz wniosku zmiany, klikając przycisk „Zastosuj”.

ClusterControl — zarządzanie użytkownikami bazy danych i serwera proxy

Zarządzanie bazą danych i użytkownikami ClusterControl jest nieco prostsze niż to, co oferuje MySQL Workbench. Podczas gdy MySQL Workbench jest bardziej przyjazny dla programistów, ClusterControl koncentruje się bardziej na tym, czym interesują się administratorzy SysAdmins i administratorzy baz danych, bardziej jak zwykłe czynności administracyjne dla tych, którzy są już zaznajomieni z rolami i uprawnieniami MySQL.

Aby utworzyć użytkownika bazy danych, przejdź do Zarządzaj -> Schematy i użytkownicy -> Użytkownicy -> Utwórz nowego użytkownika. Zostanie wyświetlony następujący kreator tworzenia użytkownika:

Utworzenie użytkownika w ClusterControl wymaga wypełnienia wszystkich niezbędnych pól w jednym w przeciwieństwie do MySQL Workbench, który wymagał wielu kliknięć w celu osiągnięcia podobnych wyników. ClusterControl obsługuje również tworzenie użytkownika ze składnią „REQUIRE SSL”, aby wymusić dostęp danego użytkownika tylko za pośrednictwem kanału szyfrowania SSL.

ClusterControl zapewnia zagregowany widok wszystkich użytkowników bazy danych w klastrze, eliminując konieczność logowania się do każdego indywidualnego serwera w celu wyszukania konkretnego użytkownika:

Proste najechanie myszą na pole uprawnień ujawnia wszystkie uprawnienia, które zostały przypisane do tego użytkownika. ClusterControl udostępnia również listę nieaktywnych użytkowników, kont użytkowników, które nie były używane od ostatniego restartu serwera:

Powyższa lista daje nam jasne podsumowanie tego, jacy użytkownicy są warci istnienia , co pozwala nam efektywniej zarządzać użytkownikiem. Administratorzy baz danych mogą następnie zapytać programistę, czy nieaktywny użytkownik bazy danych nadal musi być aktywny, w przeciwnym razie konto użytkownika może zostać zablokowane lub usunięte.

Jeśli posiadasz moduł równoważenia obciążenia ProxySQL, możesz wiedzieć, że ProxySQL ma własne zarządzanie użytkownikami MySQL, aby umożliwić jego przekazywanie. Istnieje wiele różnych ustawień i zmiennych w porównaniu z typowymi konfiguracjami użytkownika MySQL, np. domyślna grupa hostów, domyślny schemat, trwałość transakcji, szybkie przewijanie do przodu i wiele innych. ClusterControl zapewnia graficzny interfejs użytkownika do zarządzania użytkownikami bazy danych ProxySQL, poprawiając jednocześnie doświadczenie i wydajność zarządzania użytkownikami proxy i bazy danych:

Podczas tworzenia nowego użytkownika bazy danych za pośrednictwem strony zarządzania ProxySQL, ClusterControl automatycznie utworzy odpowiedni użytkownik w ProxySQL i MySQL. Jednak po usunięciu użytkownika MySQL z ProxySQL, odpowiedni użytkownik bazy danych pozostanie na serwerze MySQL.

Zalety i wady

ClusterControl obsługuje wielu dostawców baz danych, dzięki czemu uzyskasz podobne wrażenia użytkownika w przypadku innych serwerów baz danych. ClusterControl obsługuje również tworzenie użytkownika bazy danych na wielu hostach jednocześnie, dzięki czemu upewni się, że utworzony użytkownik istnieje na wszystkich serwerach baz danych w klastrze. ClusterControl ma czystszy sposób wystawiania kont użytkowników, gdzie możesz zobaczyć wszystkie niezbędne informacje bezpośrednio na stronie listy. Jednak zarządzanie użytkownikami wymaga aktywnej subskrypcji i nie jest dostępne w wersji Community. 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.

Największą zaletą MySQL Workbench jest to, że jest bezpłatny i może być używany razem z zarządzaniem i administracją schematem. Został zbudowany tak, aby był bardziej przyjazny dla programistów i administratorów baz danych, a jego zaletą jest to, że jest zbudowany i wspierany przez zespół Oracle, który jest właścicielem i utrzymuje serwer MySQL. Zapewnia również znacznie jaśniejsze wskazówki z opisem większości pól wejściowych, zwłaszcza w krytycznych częściach, takich jak uwierzytelnianie i zarządzanie uprawnieniami. Wstępnie ustawiona rola administracyjna to zgrabny sposób na nadanie użytkownikowi zestawu uprawnień na podstawie pracy, jaką użytkownik musi wykonać na serwerze. Z drugiej strony MySQL Workbench nie jest narzędziem przyjaznym dla klastrów, ponieważ każde połączenie zarządzania jest dostosowane do jednego serwera MySQL punktu końcowego. W związku z tym nie zapewnia scentralizowanego widoku wszystkich użytkowników w klastrze. Nie obsługuje również tworzenia użytkowników z wymuszeniem SSL.

Oba te narzędzia nie obsługują nowej składni dynamicznych uprawnień MySQL 8.0, np. BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN itp.

Poniższa tabela przedstawia ważne funkcje obu narzędzi w celu łatwego porównania:

Aspekt zarządzania użytkownikami

Ś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

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Koderstwo

Obsługa zarządzania użytkownikami innego oprogramowania

 
  • ProxySQL

Zarządzanie użytkownikami na wielu hostach

Nie

Tak

Zagregowany widok użytkowników w klastrze bazy danych

Nie

Tak

Pokaż nieaktywnych użytkowników

Nie

Tak

Utwórz użytkownika z SSL

Nie

Tak

Uprawnienia i opis roli

Tak

Nie

Wstępnie ustawiona rola administracyjna

Tak

Nie

Uprawnienia dynamiczne MySQL 8.0

Nie

Nie

Koszt

Bezpłatne

Wymagana subskrypcja funkcji zarządzania


Mamy nadzieję, że te posty na blogu pomogą Ci określić, jakie narzędzia najlepiej nadają się do zarządzania bazami danych MySQL i użytkownikami.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_real_escape_string VS dodaje ukośniki

  2. Jak zmienić mysql na mysqli?

  3. Jak porównać dwie tabele w MySQL?

  4. Czy istnieje opcja/funkcja MySQL do śledzenia historii zmian w rekordach?

  5. JSON_REPLACE() – Zamień wartości w dokumencie JSON w MySQL