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

Proxysql-Admin-Alternativen – ClusterControl ProxySQL-GUI

ProxySQL ist ein sehr beliebter Proxy in MySQL-Umgebungen. Es verfügt über eine Reihe netter Funktionen, darunter Lese-/Schreibaufteilung, Abfrage-Caching und Abfrageumschreibung. ProxySQL speichert seine Konfiguration in der SQLite-Datenbank, Konfigurationsänderungen können zur Laufzeit angewendet und über SQL-Befehle ausgeführt werden. Dies erhöht die Lernkurve und könnte ein Hindernis für einige Leute sein, die es einfach installieren und zum Laufen bringen möchten.

Aus diesem Grund gibt es einige Tools, die Ihnen bei der Verwaltung von ProxySQL helfen können. Werfen wir einen Blick auf einen davon, „proxysql-admin“, und vergleichen ihn mit den für ProxySQL in ClusterControl verfügbaren Funktionen.

proxysql-admin

Proxysql-admin ist ein Tool, das in ProxySQL enthalten ist, wenn es aus den Percona-Repositories installiert wird. Es dient dazu, die Einrichtung des Percona XtraDB-Clusters in ProxySQL zu vereinfachen. Sie können das Setup in der Konfigurationsdatei (/etc/proxysql-admin.cnf) oder durch Argumente für den Befehl „proxysql-admin“ definieren. Es ist möglich:

  1. Konfigurieren Sie Hostgruppen (Reader, Writer, Backup Writer, Offline) für PXC
  2. Überwachungsbenutzer in ProxySQL und PXC erstellen
  3. Anwendungsbenutzer in ProxySQL und PXC erstellen
  4. ProxySQL konfigurieren (maximal laufende Verbindungen, maximale Transaktionen dahinter)
  5. Synchronisieren Sie Benutzer zwischen PXC und ProxySQL
  6. Knoten zwischen PXC und ProxySQL synchronisieren
  7. Erstellen Sie vordefinierte (R/W-Aufteilung) Abfrageregeln für aus PXC importierte Benutzer
  8. SSL für Verbindungen von ProxySQL zu den Backend-Datenbanken konfigurieren
  9. Definieren Sie einen einzelnen Autor oder Round-Robin-Zugriff auf den PXC

Wie Sie sehen können, ist dies keineswegs ein komplexes Tool, es konzentriert sich auf die Ersteinrichtung. Sehen wir uns einige Beispiele an.

[email protected]:~# proxysql-admin --enable



This script will assist with configuring ProxySQL for use with

Percona XtraDB Cluster (currently only PXC in combination

with ProxySQL is supported)



ProxySQL read/write configuration mode is singlewrite



Configuring the ProxySQL monitoring user.

ProxySQL monitor user name as per command line/config-file is proxysql-monitor



The monitoring user is already present in Percona XtraDB Cluster.



Would you like to enter a new password [y/n] ? n



Monitoring user 'proxysql-monitor'@'10.%' has been setup in the ProxySQL database.



Configuring the Percona XtraDB Cluster application user to connect through ProxySQL

Percona XtraDB Cluster application user name as per command line/config-file is proxysql_user



Application user 'proxysql_user'@'10.%' already present in PXC.



Adding the Percona XtraDB Cluster server nodes to ProxySQL



Write node info

+------------+--------------+------+--------+

| hostname   | hostgroup_id | port | weight |

+------------+--------------+------+--------+

| 10.0.0.152 | 10           | 3306 | 1000   |

+------------+--------------+------+--------+



ProxySQL configuration completed!



ProxySQL has been successfully configured to use with Percona XtraDB Cluster



You can use the following login credentials to connect your application through ProxySQL



mysql --user=proxysql_user -p --host=localhost --port=6033 --protocol=tcp

Oben zeigt die anfängliche Einrichtung. Wie Sie sehen können, wurde ein Singlewriter-Modus (Standard) verwendet, Überwachungs- und Anwendungsbenutzer wurden konfiguriert und die gesamte Serverkonfiguration wurde vorbereitet.

[email protected]:~# proxysql-admin --status



mysql_galera_hostgroups row for writer-hostgroup: 10

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+

| writer | reader | backup-writer | offline | active | max_writers | writer_is_also_reader | max_trans_behind |

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+

| 10     | 11     | 12            | 13      | 1      | 1           | 2                     | 100              |

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+



mysql_servers rows for this configuration

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

| hostgroup     | hg_id | hostname   | port | status | weight | max_conn | use_ssl | gtid_port |

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

| writer        | 10    | 10.0.0.153 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| reader        | 11    | 10.0.0.151 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| reader        | 11    | 10.0.0.152 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| backup-writer | 12    | 10.0.0.151 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| backup-writer | 12    | 10.0.0.152 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

Hier ist die Ausgabe der Standardkonfiguration der PXC-Knoten in ProxySQL.

ClusterControl

ClusterControl ist im Vergleich zum Proxysql-Admin eine wesentlich komplexere Lösung. Es kann einen ProxySQL-Load-Balancer bereitstellen und gemäß den Benutzeranforderungen vorkonfigurieren.

Bei der Bereitstellung können Sie Administratorbenutzer und -kennwort, Überwachungsbenutzer und Sie selbst definieren Importieren Sie auch einen der vorhandenen MySQL-Benutzer (oder erstellen Sie einen neuen, wenn Sie dies benötigen), damit die Anwendung verwendet werden kann. Es ist auch möglich, die ProxySQL-Konfiguration von anderem ProxySQL zu importieren, das Sie bereits im Cluster haben. Dadurch wird die Bereitstellung schneller und effizienter.

Was auch wichtig zu erwähnen ist, ist, dass ClusterControl ProxySQL sowohl in MySQL- als auch in Galera-Clustern bereitstellen kann. Es kann mit MySQL-, Percona- und MariaDB-Varianten von MySQL verwendet werden.

Nach der Bereitstellung bietet Ihnen ClusterControl Optionen zur vollständigen Verwaltung von ProxySQL über eine benutzerfreundliche GUI.

Sie können Ihre ProxySQL-Instanz überwachen.

Sie können die schwereren Abfragen überprüfen, die über ProxySQL ausgeführt werden. Es ist auch möglich, eine Abfrageregel basierend auf der genauen Abfrage zu erstellen.

ClusterControl konfiguriert ProxySQL für eine Lese-/Schreibaufteilung. Es ist auch möglich, benutzerdefinierte Abfrageregeln basierend auf Ihren Anforderungen und Ihrer Anwendungskonfiguration hinzuzufügen.

Im Vergleich zu proxysql-admin gibt Ihnen ClusterControl die volle Kontrolle über die Serverkonfiguration . Sie können neue Server hinzufügen und sie nach Belieben zwischen Hostgruppen verschieben. Sie können neue Hostgruppen erstellen (und dann beispielsweise neue Abfrageregeln für sie erstellen).

Es ist auch möglich, Benutzer in ProxySQL zu verwalten. Sie können vorhandene Benutzer bearbeiten und neue Benutzer importieren, die in der Backend-Datenbank vorhanden sind.

Massenimport ist ebenfalls möglich. Sie können auch neue Benutzer sowohl in ProxySQL- als auch in Backend-Datenbanken erstellen.

ClusterControl kann auch zum Neukonfigurieren von ProxySQL verwendet werden. Sie können alle Variablen über eine einfache Benutzeroberfläche mit Suchoption ändern.

Wie Sie sehen können, verfügt ClusterControl über umfassende Verwaltungsfunktionen für ProxySQL. Es ermöglicht Ihnen die einfache Bereitstellung und Verwaltung von ProxySQL-Instanzen.