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

MySQL Workbench-Alternativen – ClusterControl-Konfigurationsverwaltung

Die MySQL-Konfigurationsverwaltung besteht aus zwei Hauptkomponenten - MySQL-Konfigurationsdateien und Laufzeitkonfiguration. Das Anwenden von Konfigurationsänderungen auf die Laufzeitumgebung kann über MySQL-Serverclients ohne Berechtigung für Sitzungsvariablen, aber mit SUPER-Berechtigungen für globale Variablen erfolgen. Das Anwenden der gleichen Konfigurationsänderungen in der MySQL-Konfigurationsdatei ist auch erforderlich, um die Änderungen über MySQL-Neustarts hinweg dauerhaft zu machen, da sonst die Standardwerte während des Starts geladen werden.

In diesem Blogbeitrag werden wir uns ClusterControl Configuration Management als Alternative zur MySQL Workbench-Konfigurationsverwaltung ansehen.

MySQL Workbench-Konfigurationsverwaltung

MySQL Workbench ist ein grafischer Client für die Arbeit mit MySQL-Servern und -Datenbanken für Serverversionen 5.x und höher. Es ist frei verfügbar und wird häufig von SysAdmins, DBAs und Entwicklern verwendet, um SQL-Entwicklung, Datenmodellierung, MySQL-Serververwaltung und Datenmigration durchzuführen.

Sie können MySQL Workbench verwenden, um die MySQL/MariaDB-Konfigurationsverwaltung auf einem Remote-MySQL-Server durchzuführen. Es sind jedoch einige anfängliche Schritte erforderlich, um diese Funktion zu aktivieren. Wählen Sie in MySQL Workbench ein vorhandenes Verbindungsprofil aus und wählen Sie Fernverwaltung konfigurieren. Ihnen wird ein Schritt-für-Schritt-Konfigurationsassistent angezeigt, der Sie bei der Einrichtung der Fernverwaltung für das Verbindungsprofil unterstützt:

Beim Start wird ein Verbindungsversuch unternommen, um die Serverversion zu ermitteln und Betriebssystem des Zielrechners. Dadurch können die Verbindungseinstellungen validiert werden und der Assistent kann eine sinnvolle Konfigurationsvoreinstellung auswählen. Wenn dieser Versuch fehlschlägt, können Sie immer noch mit dem nächsten Schritt fortfahren, wo Sie die Einstellungen weiter an die Umgebung des Remote-Servers anpassen können.

Sobald die Remote-Verbindungskonfiguration abgeschlossen ist, doppelklicken Sie auf das Verbindungsprofil, um eine Verbindung zur MySQL-Instanz herzustellen. Gehen Sie dann zu Instanz -> Optionsdatei, um den Abschnitt Konfigurationsmanager zu öffnen. Sie sollten etwas Ähnliches wie den folgenden Screenshot sehen:

Alle vorhandenen Konfigurationsvariablen aus der Konfigurationsdatei werden in diese Konfiguration vorab geladen Manager, damit Sie sehen können, welche Optionen mit ihren jeweiligen Werten aktiviert wurden. Konfigurationen sind in eine Reihe von Abschnitten kategorisiert – Allgemein, Protokollierung, InnoDB, Netzwerk usw. – was uns wirklich hilft, uns auf bestimmte Funktionen zu konzentrieren, die wir optimieren oder aktivieren möchten.

Wenn Sie mit den Änderungen zufrieden sind und bevor Sie auf „Übernehmen“ klicken, vergewissern Sie sich, dass Sie den richtigen MySQL-Gruppenabschnitt aus dem Dropdown-Menü (direkt neben der Schaltfläche „Verwerfen“) ausgewählt haben. Nach der Anwendung sollten Sie sehen, dass die Konfiguration auf den MySQL-Server angewendet wird, wo eine neue Zeile (falls noch nicht vorhanden) in der MySQL-Konfigurationsdatei erscheint.

Beachten Sie, dass das Klicken auf die Schaltfläche „Übernehmen“ die entsprechende Änderung nicht in die MySQL-Laufzeit überträgt. Man muss einen Neustart auf dem MySQL-Server durchführen, um die neuen Konfigurationsänderungen zu laden, indem man zu Instanz -> Startup/Shutdown geht. Dies wirkt sich negativ auf die Verfügbarkeit Ihrer Datenbank aus.

Um alle geladenen Systemstatus und -variablen anzuzeigen, gehen Sie zu Management -> Status and System Variables:

ClusterControl-Konfigurationsverwaltung

Auf den ClusterControl Configuration Manager kann unter Manage -> Configurations zugegriffen werden. ClusterControl zieht eine Reihe wichtiger Konfigurationsdateien und zeigt sie in einer Baumstruktur an. Eine zentralisierte Ansicht dieser Dateien ist der Schlüssel zum effizienten Verständnis und zur Fehlerbehebung bei verteilten Datenbank-Setups. Der folgende Screenshot zeigt den Konfigurationsdateimanager von ClusterControl, der alle zugehörigen Konfigurationsdateien für diesen Cluster in einer einzigen Ansicht mit Syntaxhervorhebung auflistet:

Wie Sie dem obigen Screenshot entnehmen können, versteht ClusterControl MySQL "!include "-Parameter und durchläuft alle damit verbundenen Konfigurationsdateien. Beispielsweise werden zwei MySQL-Konfigurationsdateien von Host 192.168.0.21 gezogen, /etc/my.cnf und /etc/my.cnf.d/secrets-backup.cnf. Sie können mehrere Konfigurationsdateien in einem anderen Editor-Tab öffnen, was es einfacher macht, die Inhalte nebeneinander zu vergleichen. ClusterControl ruft auch die letzten Dateiänderungsinformationen aus dem Zeitstempel des Betriebssystems ab, wie unten rechts im Texteditor angezeigt.

ClusterControl eliminiert die Wiederholbarkeit beim Ändern einer Konfigurationsoption eines Datenbank-Clusters. Das Ändern einer Konfigurationsoption auf mehreren Knoten kann über eine einzige Schnittstelle durchgeführt werden und wird entsprechend auf den Datenbankknoten angewendet. Wenn Sie auf „Change/Set Parameter“ klicken, können Sie die Datenbankinstanzen auswählen, die Sie ändern möchten, und die Konfigurationsgruppe, den Parameter und den Wert angeben:

Sie können der Konfigurationsdatei einen neuen Parameter hinzufügen oder einen vorhandenen Parameter ändern . Der Parameter wird auf die Laufzeit der ausgewählten Datenbankknoten und in die Konfigurationsdatei angewendet, wenn die Option den Variablenvalidierungsprozess besteht. Einige Variablen erfordern möglicherweise einen Folgeschritt wie einen Serverneustart oder ein Neuladen der Konfiguration, der dann von ClusterControl empfohlen wird.

Alle von ClusterControl konfigurierten Dienste verwenden eine Basiskonfigurationsvorlage, die unter /usr/share/cmon/templates auf dem ClusterControl-Knoten verfügbar ist. Sie können die Datei direkt an Ihre Bereitstellungsrichtlinie anpassen, dieses Verzeichnis wird jedoch nach einem Paket-Upgrade ersetzt. Um sicherzustellen, dass Ihre benutzerdefinierten Konfigurationsvorlagendateien über Upgrades hinweg bestehen bleiben, speichern Sie Ihre Vorlagendateien im Verzeichnis /etc/cmon/templates. Wenn ClusterControl die Vorlagendatei für die Bereitstellung hochlädt, haben Dateien unter /etc/cmon/templates immer eine höhere Priorität als die Dateien unter /usr/share/cmon/templates. Wenn zwei Dateien mit identischen Namen in beiden Verzeichnissen existieren, wird diejenige verwendet, die sich unter /etc/cmon/templates befindet.

Gehen Sie zu Leistung -> DB-Variablen, um die Laufzeitkonfiguration für alle Server im Cluster zu überprüfen:

Beachten Sie eine rot hervorgehobene Zeile im Screenshot oben? Das bedeutet, dass die Konfiguration nicht in allen Knoten identisch ist. Dadurch wird der Konfigurationsunterschied zwischen Hosts in einem bestimmten Datenbank-Cluster besser sichtbar.

Workbench v ClusterControl:Vor- und Nachteile

Jedes Produkt hat seine eigenen Vor- und Nachteile. Für ClusterControl ist es der beste Konfigurationsmanager, um mehrere Datenbankknoten gleichzeitig zu verwalten, da es Cluster und Topologie versteht. Es unterstützt mehrere MySQL-Anbieter wie MariaDB, Percona sowie alle Galera-Cluster-Varianten. Es versteht auch das Datenbank-Load-Balancer-Konfigurationsformat für HAProxy, MariaDB MaxScale, ProxySQL und Keepalived. Da ClusterControl zu Beginn des Importierens/Bereitstellens des Clusters eine kennwortlose SSH-Konfiguration erfordert, erfordert die Konfigurationsverwaltung keine Remote-Einrichtung wie Workbench und funktioniert sofort, nachdem die Hosts von ClusterControl verwaltet wurden. Von ClusterControl durchgeführte MySQL-Konfigurationsänderungen werden automatisch in die Laufzeit geladen (für alle unterstützten Variablen) und zur Persistenz in MySQL-Konfigurationsdateien geschrieben. In Bezug auf die Nachteile enthält das ClusterControl-Konfigurationsmanagement keine Konfigurationsbeschreibungen, die uns helfen könnten, vorherzusehen, was passieren würde, wenn wir die Konfigurationsoption ändern würden. Es unterstützt nicht alle Plattformen, die MySQL ausführen kann, insbesondere nur bestimmte Linux-Distributionen wie CentOS, RHEL, Debian und Ubuntu.

MySQL Workbench unterstützt die Fernverwaltung vieler Betriebssysteme wie Windows, FreeBSD, MacOS, Open Solaris und Linux. MySQL Workbench ist kostenlos erhältlich und kann auch mit anderen MySQL-Anbietern wie Percona und MariaDB verwendet werden (obwohl es hier nicht aufgeführt ist, funktioniert es mit einigen älteren MariaDB-Versionen). Es unterstützt auch die Verwaltung der Installation aus dem TAR-Bundle. Es ermöglicht einige Anpassungen des Konfigurationsdateipfads, der Dienst-/Stoppbefehle und der Benennung von MySQL-Gruppenabschnitten. Eines der netten Features ist, dass MySQL Workbench ein Dropdown-Menü für feste Werte verwendet, was eine große Hilfe bei der Verringerung des Risikos einer Fehlkonfiguration durch einen Benutzer sein kann, wie im folgenden Screenshot gezeigt:

Auf der anderen Seite unterstützt MySQL Workbench keine Konfigurationsverwaltung für mehrere Hosts, wo Sie müssen die Konfigurationsänderung auf jedem Host separat durchführen. Außerdem werden die Konfigurationsänderungen nicht in die Laufzeit übertragen, ohne dass ein expliziter MySQL-Neustart erforderlich ist, der die Betriebszeit des Datenbankdienstes beeinträchtigen kann.

Die folgende Tabelle vereinfacht die signifikanten Unterschiede aus allen genannten Punkten:

Konfigurationsaspekt

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
  • Kodiererschaft

Andere Software unterstützen

 
  • HAProxy
  • ProxySQL
  • MariaDB MaxScale
  • Keepalived

Konfiguration/Variablenbeschreibung

Ja

Nein

Syntax-Hervorhebung der Konfigurationsdatei

Nein

Ja

Dropdown-Konfigurationswerte

Ja

Nein

Multi-Host-Konfiguration

Nein

Ja

Automatische Push-Konfiguration in die Laufzeit

Nein

Ja

Konfigurationsvorlagen

Nein

Ja

Kosten

Kostenlos

Abonnement für Konfigurationsverwaltung erforderlich

Wir hoffen, dass dieser Blogbeitrag Ihnen dabei helfen wird, das geeignete Tool zum Verwalten der Konfigurationen Ihrer MySQL-Server zu finden. Sie können auch unser neues Tool zur Verwaltung von Konfigurationsdateien ausprobieren (derzeit in der Alpha-Phase).