Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Workbench-Alternativen – ClusterControl-Datenbankbenutzerverwaltung

Die MySQL-Benutzer- und Berechtigungsverwaltung ist für Authentifizierungs-, Autorisierungs- und Abrechnungszwecke sehr wichtig. Seit MySQL 8.0 gibt es jetzt zwei Arten von Datenbankbenutzerrechten:

  1. Statische Privilegien – Die allgemeinen globalen, Schema- und Administratorrechte wie SELECT, ALTER, SUPER und USAGE, die in den Server integriert sind.
  2. Dynamische Berechtigungen – Neu in MySQL 8.0. Eine Komponente, die zur Laufzeit registriert und deregistriert werden kann, was eine bessere Kontrolle über globale Berechtigungen bietet. Anstatt beispielsweise das SUPER-Privileg nur für Konfigurationsverwaltungszwecke zuzuweisen, sollte diesem bestimmten Benutzer besser nur das SYSTEM_VARIABLES_ADMIN-Privileg gewährt werden.

Das Erstellen eines Datenbankschemas mit dem entsprechenden Benutzer ist der allererste Schritt, um mit der Verwendung von MySQL als Datenbankserver zu beginnen. Bei den meisten Anwendungen, die MySQL als Datenspeicher verwenden, muss diese Aufgabe ausgeführt werden, bevor die Anwendung wie beabsichtigt funktionieren kann. Für die Verwendung mit einer Anwendung wird ein MySQL-Benutzer normalerweise so konfiguriert, dass er auf Schemaebene volle Berechtigungen (ALLE PRIVILEGES) hat, was bedeutet, dass der von der Anwendung verwendete Datenbankbenutzer die Freiheit hat, alle Aktionen in der zugewiesenen Datenbank auszuführen.

In diesem Blogpost werden wir die Benutzerverwaltungsfunktionen von MySQL-Datenbanken zwischen MySQL Workbench und ClusterControl vergleichen und gegenüberstellen.

MySQL Workbench - Datenbankbenutzerverwaltung

Für MySQL Workbench finden Sie alle Dinge zur Benutzerverwaltung unter Verwaltung -> Verwaltung -> Benutzer und Berechtigungen. Sie sollten auf der linken Seite eine Liste bestehender Benutzer sehen, während auf der rechten Seite der Abschnitt zur Authentifizierungs- und Autorisierungskonfiguration für den ausgewählten Benutzer angezeigt wird:

MySQL unterstützt über 30 statische Privilegien und ist nicht leicht zu verstehen und zu merken das Einkaufszentrum. MySQL Workbench verfügt über eine Reihe voreingestellter Administratorrollen, was sehr hilfreich ist, um einem Datenbankbenutzer ausreichende Berechtigungen zuzuweisen. Wenn Sie beispielsweise einen MySQL-Benutzer speziell für die Durchführung von Backup-Aktivitäten mit mysqldump erstellen möchten, können Sie die BackupAdmin-Rolle auswählen und die zugehörigen globalen Berechtigungen werden dem Benutzer entsprechend zugewiesen:

Um einen neuen Datenbankbenutzer zu erstellen, klicken Sie auf die Schaltfläche "Konto hinzufügen". und geben Sie die erforderlichen Informationen unter der Registerkarte "Login" ein. Sie können auf der Registerkarte "Kontolimit" weitere Ressourcenbeschränkungen hinzufügen. Wenn der Benutzer nur für ein Datenbankschema und nicht für eine administrative Rolle vorgesehen ist (ausschließlich für die Anwendungsnutzung), können Sie die Registerkarte „Administrative Rollen“ überspringen und einfach die „Schema-Berechtigungen“ konfigurieren.

Unter dem Abschnitt „Schema-Berechtigungen“ kann man ein Datenbankschema auswählen (oder das passende Muster definieren), indem man auf „Eintrag hinzufügen“ klickt. Drücken Sie dann die Schaltfläche "ALLE auswählen", um alle Rechte (außer GRANT OPTION) zuzulassen, was der Optionsanweisung "ALL PRIVILEGES" ähnelt:

Ein Datenbankbenutzer wird erst dann auf dem MySQL-Server erstellt, wenn Sie sich beworben haben die Änderungen, indem Sie auf die Schaltfläche "Übernehmen" klicken.

ClusterControl - Datenbank- und Proxy-Benutzerverwaltung

Die Datenbank- und Benutzerverwaltung von ClusterControl ist etwas unkomplizierter als das, was MySQL Workbench bietet. Während MySQL Workbench entwicklerfreundlicher ist, konzentriert sich ClusterControl mehr auf das, woran SysAdmins und DBAs interessiert sind, eher auf allgemeine Verwaltungsaufgaben für diejenigen, die bereits mit MySQL-Rollen und -Privilegien vertraut sind.

Um einen Datenbankbenutzer zu erstellen, gehen Sie zu Verwalten -> Schemas und Benutzer -> Benutzer -> Neuen Benutzer erstellen. Ihnen wird der folgende Assistent zum Erstellen von Benutzern angezeigt:

Um einen Benutzer in ClusterControl anzulegen, müssen Sie alle erforderlichen Felder in einem ausfüllen Seite, im Gegensatz zu MySQL Workbench, die eine Reihe von Klicks erforderte, um ähnliche Ergebnisse zu erzielen. ClusterControl unterstützt auch das Erstellen eines Benutzers mit der Syntax „REQUIRE SSL“, um den bestimmten Benutzer zu zwingen, nur über den SSL-Verschlüsselungskanal zuzugreifen.

ClusterControl bietet eine aggregierte Ansicht aller Datenbankbenutzer in einem Cluster, sodass Sie sich nicht mehr bei jedem einzelnen Server anmelden müssen, um nach einem bestimmten Benutzer zu suchen:

Ein einfaches Rollover auf das Privilegienfeld zeigt alle Privilegien an, die zugewiesen wurden dieser Benutzer. ClusterControl bietet auch eine Liste inaktiver Benutzer, Benutzerkonten, die seit dem letzten Serverneustart nicht verwendet wurden:

Die obige Liste gibt uns eine klare Zusammenfassung darüber, welche Benutzer es wert sind, zu existieren , wodurch wir den Benutzer effizienter verwalten können. DBAs können dann den Entwickler fragen, ob der inaktive Datenbankbenutzer noch aktiv sein muss, andernfalls kann das Benutzerkonto gesperrt oder gelöscht werden.

Wenn Sie einen ProxySQL-Load-Balancer dazwischen haben, wissen Sie vielleicht, dass ProxySQL über eine eigene MySQL-Benutzerverwaltung verfügt, damit es durch diese geleitet werden kann. Es gibt eine Reihe unterschiedlicher Einstellungen und Variablen im Vergleich zu den üblichen MySQL-Benutzerkonfigurationen, z. B. Standard-Hostgruppe, Standardschema, Transaktionspersistenz, schneller Vorlauf und vieles mehr. ClusterControl bietet eine grafische Benutzeroberfläche zur Verwaltung von ProxySQL-Datenbankbenutzern und verbessert die Erfahrung und Effizienz der gleichzeitigen Verwaltung Ihrer Proxy- und Datenbankbenutzer:

Beim Erstellen eines neuen Datenbankbenutzers über die ProxySQL-Verwaltungsseite wird ClusterControl automatisch erstellt der entsprechende Benutzer sowohl auf ProxySQL als auch auf MySQL. Wenn Sie jedoch einen MySQL-Benutzer von ProxySQL löschen, bleibt der entsprechende Datenbankbenutzer auf dem MySQL-Server.

Vor- und Nachteile

ClusterControl unterstützt mehrere Datenbankanbieter, sodass Sie beim Umgang mit anderen Datenbankservern eine ähnliche Benutzererfahrung erhalten. ClusterControl unterstützt auch das gleichzeitige Erstellen eines Datenbankbenutzers auf mehreren Hosts, wobei sichergestellt wird, dass der erstellte Benutzer auf allen Datenbankservern im Cluster vorhanden ist. ClusterControl hat eine übersichtlichere Methode beim Auflisten von Benutzerkonten, bei der Sie alle erforderlichen Informationen direkt auf der Auflistungsseite sehen können. Die Benutzerverwaltung erfordert jedoch ein aktives Abonnement und ist in der Community Edition nicht verfügbar. Es unterstützt nicht alle Plattformen, die MySQL ausführen kann, insbesondere nur bestimmte Linux-Distributionen wie CentOS, RHEL, Debian und Ubuntu.

Der größte Vorteil von MySQL Workbench ist, dass es kostenlos ist und zusammen mit Schemaverwaltung und -verwaltung verwendet werden kann. Es ist benutzerfreundlicher für Entwickler und DBAs und hat den Vorteil, dass es vom Oracle-Team erstellt und unterstützt wird, das den MySQL-Server besitzt und wartet. Es bietet auch eine viel klarere Anleitung mit Beschreibungen zu den meisten Eingabefeldern, insbesondere in den kritischen Teilen wie Authentifizierung und Berechtigungsverwaltung. Die voreingestellte Administratorrolle ist eine nette Möglichkeit, einem Benutzer eine Reihe von Berechtigungen zu erteilen, basierend auf der Arbeit, die der Benutzer auf dem Server ausführen muss. Auf der anderen Seite ist MySQL Workbench kein Cluster-freundliches Tool, da jede Verwaltungsverbindung auf einen Endpunkt-MySQL-Server zugeschnitten ist. Daher bietet es keine zentralisierte Ansicht aller Benutzer im Cluster. Es unterstützt auch nicht das Erstellen von Benutzern mit SSL-Erzwingung.

Beide Tools unterstützen nicht die neue dynamische Privilegien-Syntax von MySQL 8.0, z. B. BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN usw.

Die folgende Tabelle zeigt bemerkenswerte Funktionen für beide Tools zum einfachen Vergleich:

Aspekte der Benutzerverwaltung

MySQL-Workbench

ClusterControl

Unterstütztes Betriebssystem für MySQL-Server

  • Linux

  • Windows

  • FreeBSD

  • Solaris öffnen

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

MySQL-Anbieter

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Codership

Benutzerverwaltung für andere Software unterstützen

 
  • ProxySQL

Multi-Host-Benutzerverwaltung

Nein

Ja

Aggregierte Ansicht von Benutzern in einem Datenbank-Cluster

Nein

Ja

Inaktive Benutzer anzeigen

Nein

Ja

Benutzer mit SSL erstellen

Nein

Ja

Privilegien- und Rollenbeschreibung

Ja

Nein

Voreingestellte Administratorrolle

Ja

Nein

Dynamische Berechtigungen für MySQL 8.0

Nein

Nein

Kosten

Kostenlos

Abonnement für Verwaltungsfunktionen erforderlich


Wir hoffen, dass diese Blogbeiträge Ihnen dabei helfen, festzustellen, welche Tools am besten für die Verwaltung Ihrer MySQL-Datenbanken und -Benutzer geeignet sind.