Datenbank-Setup · 10 min read · Sep 26, 2025
So installieren Sie einen Lastenausgleich MySQL-Server mit ProxySQL auf Debian 11

ProxySQL ist ein leistungsstarker MySQL-Proxy mit einem kleinen Fußabdruck, der in mehreren Umgebungen wie VM, K8s, Bare-Metal und Docker-Containern installiert werden kann. ProxySQL ist eine Open-Source-Lösung, die hohe Verfügbarkeit für Ihr MySQL-Cluster mit Unterstützung für Verbindungs-Multiplexing bietet, Regeln für Abfragen bereitstellt, um Schreibvorgänge an Primärserver weiterzuleiten, und Lesevorgänge auf Replikate verteilt.
ProxySQL unterstützt sowohl AMD64 (x86_64) als auch ARM64. Es bietet einen Anwendungsproxies für Ihre Anwendung und bietet auch erweiterte Abfragen mit Fehlererkennung.
In diesem Leitfaden installieren und richten Sie den Lastenausgleich des MySQL-Clusters über ProxySQL auf einem Debian 11-Server ein. Sie installieren ProxySQL v2 mit dem Percona XtraDB-Client, fügen dann den Percona XtraDB-Cluster zu ProxySQL hinzu, richten den ProxySQL-Überwachungsbenutzer ein und fügen dann die Datenbank und den Benutzer hinzu, die für Ihre Anwendungen verwendet werden.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, müssen Sie die folgenden Anforderungen erfüllen:
- Ein Linux-Server, der das Debian 11-System ausführt - Dieses Beispiel verwendet einen Debian-Server mit dem Hostnamen ‘proxysql-deb‘.
- Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.
- Vollständig konfiguriertes MySQL-Cluster oder Percona XtraDB-Cluster.
Das war’s. Wenn alle Anforderungen bereit sind, können Sie nun mit der Installation von ProxySQL beginnen.
Repositories einrichten
Der erste Schritt, den Sie für diesen Leitfaden unternehmen müssen, besteht darin, sowohl die ProxySQL- als auch die Percona XtraDB-Repositories zu Ihrem Server hinzuzufügen. Das Percona XtraDB-Repository wird verwendet, um das Paket ‘percona-xtradb-cluster-client‘ zu installieren, das ProxySQL benötigt.
Um zu beginnen, installieren Sie einige grundlegende Abhängigkeiten, indem Sie den folgenden apt-Befehl eingeben. Geben Sie y ein, wenn Sie dazu aufgefordert werden, und drücken Sie ENTER, um fortzufahren.
sudo apt install wget gnupg2 lsb-release curl apt-transport-https ca-certificates
Laden Sie als Nächstes die Repository-Datei für Percona XtraDB herunter und installieren Sie sie über den folgenden ‘ dpkg ‘-Befehl.
wget -q https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo dpkg -i percona-release_latest.generic_all.deb
Aktualisieren und aktualisieren Sie jetzt Ihren Debian-Paketindex mit dem folgenden apt-Befehl. Sie sollten sehen, dass das neue Percona XdtraDB-Repository hinzugefügt wurde.
sudo apt updateGeben Sie dann den Befehl ‘ percona-release ‘ ein, um das Percona XtraDB-Cluster-8.0-Repository zu aktivieren.
sudo percona-release setup pxc80
Nachdem das Percona XtraDB-Repository hinzugefügt wurde, führen Sie nun den folgenden Befehl aus, um den GPG-Schlüssel und das Repository für ProxySQL hinzuzufügen.
wget -q -nv -O /etc/apt/trusted.gpg.d/proxysql-2.4.x-keyring.gpg 'https://repo.proxysql.com/ProxySQL/proxysql-2.4.x/repo_pub_key.gpg'
echo deb https://repo.proxysql.com/ProxySQL/proxysql-2.4.x/$(lsb_release -sc)/ ./ | tee /etc/apt/sources.list.d/proxysql.listAktualisieren und aktualisieren Sie erneut Ihren Debian-Paketindex, um das neue Repository anzuwenden.
sudo apt update
Nachdem sowohl das Percona XtraDB- als auch das ProxySQL-Repository hinzugefügt wurden, können Sie die ProxySQL- und Percona XtraDB-Client-Pakete installieren.
Installation von ProxySQL und Percona XtraDB-Cluster-Client
In diesem Abschnitt installieren Sie das ProxySQL v2-Paket mit dem Percona XtraDB-Client-Paket. Geben Sie den folgenden apt-Befehl ein, um sowohl die ProxySQL- als auch die Percona XtraDB-Client-Pakete zu installieren.
sudo apt install proxysql2 percona-xtradb-cluster-clientWenn Sie dazu aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.

Sobald ProxySQL installiert ist, wird es automatisch ausgeführt und startet automatisch beim Systemstart. Geben Sie den folgenden systemctl-Befehlsdienst ein, um den Status des ProxySQL-Dienstes zu überprüfen.
sudo systemctl is-enabled proxysql
sudo systemctl start proxysqlEine Ausgabe von ‘enabled‘ bestätigt, dass ProxySQL beim Systemstart automatisch gestartet wird. Und die Ausgabe ‘active (running)‘ bestätigt, dass ProxySQL läuft.

Geben Sie als Nächstes den folgenden mysql-Befehl ein, um sich mit dem Standardbenutzer und dem Passwort ‘admin‘ beim ProxySQL-Server anzumelden.
mysql -u admin -padmin -h 127.0.0.1 -P 6032 --prompt='proxysql-deb> 'Sobald Sie erfolgreich sind, sollten Sie die ProxySQL-Shell wie folgt erhalten. Sie haben sich über den Percona XtraDB-Client mit dem ProxySQL-Admin-Modul verbunden.

Geben Sie nun die folgende Abfrage ein, um die Liste der Datenbanken auf dem ProxySQL-Server zu erhalten. Sie sollten mehrere Datenbanken auf dem ProxySQL-Server sehen.
SHOW DATABASES;
Mit dem installierten ProxySQL-Server und dem Percona XtraDB-Cluster-Client sind Sie bereit, MySQL oder den Percona XtraDB-Cluster zum ProxySQL-Server hinzuzufügen und den Lastenausgleich einzurichten.
Hinzufügen des MySQL-Clusters/Percona XtraDB-Clusters zu ProxySQL
Der erste Schritt, den Sie nach der Installation des ProxySQL-Servers unternehmen müssen, besteht darin, Ihren MySQL- oder Percona XtraDB-Cluster zum ProxySQL-Server hinzuzufügen. Dies kann über die ProxySQL-Shell erfolgen. Dieses Beispiel verwendet den Percona XtraDB-Cluster mit den folgenden Details:
Hostname IP-Adresse Port
---------------------------------
pxc01 192.168.5.15 3306
pxc02 192.168.5.16 3306
pxc03 192.168.5.17 3306Bevor Sie beginnen, stellen Sie sicher, dass Sie sich in die ProxySQL-Shell eingeloggt haben. Geben Sie dann die folgenden Abfragen ein, um Ihre MySQL-Server zu ProxySQL hinzuzufügen. Stellen Sie sicher, dass Sie die Details der IP-Adressen und Ports mit Ihren MySQL-Cluster-Details ändern.
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (0,'192.168.5.15',3306);
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (0,'192.168.5.16',3306);
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (0,'192.168.5.17',3306);Eine Ausgabe von ‘Query OK, 1 row affected‘ bestätigt, dass der MySQL-Server zum ProxySQL-Server hinzugefügt wurde.

Geben Sie die folgende Abfrage ein, um die Liste der MySQL-Server zu überprüfen, die auf ProxySQL verfügbar sind. Sie sollten drei MySQL-Server sehen, die zum ProxySQL-Server hinzugefügt wurden.
SELECT * FROM mysql_servers;Mit dem hinzugefügten MySQL- oder Percona XtraDB-Cluster zu ProxySQL müssen Sie als Nächstes die Überwachung des Percona XtraDB-Clusters auf ProxySQL einrichten.
Einrichten des ProxySQL-Überwachungsbenutzers
Um sicherzustellen, dass MySQL oder der Percona XtraDB-Cluster gesund ist, überwacht ProxySQL kontinuierlich alle verfügbaren MySQL-Server im Backend. Um dies zu erreichen, müssen Sie einen neuen Benutzer auf Ihrem Percona XtraDB-Cluster erstellen und dann den Überwachungsbenutzer auf dem ProxySQL-Server definieren.
Melden Sie sich bei Ihrem Percona XtraDB-Cluster-Server an, greifen Sie über den Befehl ‘mysql’ auf die MySQL-Shell zu und führen Sie dann die folgenden MySQL-Abfragen aus, um einen neuen Benutzer ‘monitor’ mit dem Passwort ‘monitor’ zu erstellen.
CREATE USER 'monitor'@'%' IDENTIFIED WITH mysql_native_password by 'monitor';
GRANT USAGE ON *.* TO 'monitor'@'%';
FLUSH PRIVILEGES;SELECT USER,host FROM mysql.user;
SHOW GRANTS FOR 'monitor'@'%';Wechseln Sie als Nächstes zum ProxySQL-Server und führen Sie die folgende Abfrage aus, um den Benutzer zu definieren, der zur Überwachung des Percona XtraDB-Clusters verwendet werden soll. Dies ändert die Standardvariable ‘mysql-monitor_username‘ mit dem Benutzer ‘monitor’ und die Variable ‘mysql-monitor_password‘ für das Passwort ‘monitor‘.
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_username';
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_password';Geben Sie die folgende Abfrage ein, um einige zusätzliche Parameter für die Überwachung des Percona XtraDB-Clusters auf dem ProxySQL-Server zu aktualisieren.
UPDATE global_variables SET variable_value='2000' WHERE variable_name IN ('mysql-monitor_connect_interval','mysql-monitor_ping_interval','mysql-monitor_read_only_interval');Speichern Sie die Änderungen, die Sie an ‘global_variables‘ innerhalb des ProxySQL-Servers vorgenommen haben, indem Sie die folgenden Abfragen ausführen.
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;Sie sollten eine Ausgabe wie diese erhalten.
Führen Sie nun die folgende Abfrage aus, um die Liste der ‘global_variables‘ für ‘mysql-monitor_‘ auf dem ProxySQL-Server zu überprüfen.
SELECT * FROM global_variables WHERE variable_name LIKE 'mysql-monitor_%';Sie sollten eine Ausgabe wie den folgenden Screenshot erhalten - Die Variable ‘mysql-monitor_username’ muss den Wert des Benutzers ‘monitor’ haben und die Variable ‘mysql-monitor_password’ für das Passwort ist ‘monitor’. Außerdem können Sie sehen, dass der Wert der Variablen ‘mysql-monitor_connect_interval’,’mysql-monitor_ping_interval’,’mysql-monitor_read_only_interval’ auf ‘2000‘ geändert wurde.

Geben Sie schließlich die folgenden Abfragen ein, um den Überwachungsstatus des Percona XtraDB-Clusters auf dem ProxySQL-Server zu überprüfen. Dies zeigt Ihnen Protokolle des letzten Protokollstatus und des letzten Pings vom ProxySQL-Server zu allen verfügbaren Percona XtraDB-Cluster-Servern.
SELECT * FROM monitor.mysql_server_connect_log ORDER BY time_start_us DESC LIMIT 6;
SELECT * FROM monitor.mysql_server_ping_log ORDER BY time_start_us DESC LIMIT 6;Wenn erfolgreich, sollten Sie eine Ausgabe wie diese erhalten.
Die letzten Verbindungsprotokolle des ProxySQL-Servers zum Percona XtraDB-Cluster.

Die letzten Ping-Protokolle des ProxySQL-Servers zum Percona XtraDB-Cluster.

Mit dem von ProxySQL überwachten MySQL- oder Percona XtraDB-Cluster sind Sie nun bereit, einen neuen Benutzer einzurichten, den Ihre Anwendungen verwenden werden.
Einrichten des Datenbankbenutzers für Anwendungen
Mit dem installierten und konfigurierten ProxySQL-Server und dem MySQL- oder Percona XtraDB-Cluster, das als Datenbank-Backend hinzugefügt wurde, richten Sie nun einen neuen Benutzer ein, den Ihre Anwendungen verwenden werden. Anstatt sich direkt mit dem MySQL-Server zu verbinden, sollten sich Ihre Anwendungen mit dem ProxySQL-Server verbinden, der standardmäßig auf Port ‘6033‘ läuft.
Um einen neuen Benutzer für Ihre Anwendungen einzurichten, müssen Sie die folgenden Schritte ausführen:
- Erstellen Sie einen neuen Benutzer im MySQL-Cluster oder Percona XtraDB-Cluster und richten Sie Berechtigungen ein.
- Fügen Sie Ihren Percona XtraDB-Cluster-Benutzer zum ProxySQL-Server hinzu - fügen Sie in die Tabelle ‘mysql_users‘ ein.
Um zu beginnen, kehren Sie zu Ihrem Percona XtraDB-Cluster-Server zurück und melden Sie sich über den Root-Benutzer in der MySQL-Shell an. Erstellen Sie dann einen neuen MySQL-Benutzer und gewähren Sie dem Benutzer Berechtigungen für den Zugriff auf alle Datenbanken, indem Sie die folgenden Abfragen eingeben. In diesem Beispiel erstellen Sie einen neuen Benutzer ‘sbuser‘ mit dem Passwort ‘sbpass‘. Stellen Sie außerdem sicher, dass Sie die IP-Adresse ‘192.168.5.85‘ mit der IP-Adresse des ProxySQL-Servers ändern.
CREATE USER 'sbuser'@'192.168.5.85' IDENTIFIED WITH mysql_native_password by 'sbpass';
GRANT ALL PRIVILEGES ON *.* TO 'sbuser'@'192.168.5.85';
FLUSH PRIVILEGES;Kehren Sie dann zum ProxySQL-Server zurück und führen Sie die folgende Abfrage aus, um Ihren neuen MySQL-Benutzer zum ProxySQL-Server hinzuzufügen. Ihre MySQL-Benutzer sollten in die Tabelle ‘mysql_users‘ auf dem ProxySQL-Server eingefügt werden. Zum Zeitpunkt dieses Schreibens unterstützt der ProxySQL-Server noch keine verschlüsselten Passwörter.
INSERT INTO mysql_users (username,password) VALUES ('sbuser','sbpass');Geben Sie nun die folgenden Abfragen ein, um die Änderungen auf Ihrem ProxySQL-Server zu bestätigen und zu speichern. Damit ist Ihr neuer Benutzer bereit, und Sie können diesen MySQL-Benutzer für Ihre Anwendungen verwenden.
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;
Damit sollte sich Ihre Anwendung jetzt mit dem ProxySQL-Server mit dem Benutzer ‘sbuser‘ und dem Passwort ‘sbpass‘ über den Port 6033 verbinden.
Überprüfen der Datenbank und des Benutzers
In diesem Abschnitt überprüfen Sie die ProxySQL-Installation, indem Sie sich mit dem Benutzer und dem Passwort, die Sie erstellt haben, beim ProxySQL-Server anmelden.
Geben Sie den folgenden ‘mysql’-Befehl ein, um sich mit dem neuen Benutzer ‘sbuser’ und dem Passwort ‘sbpass’ beim ProxySQL-Server anzumelden. Wenn Sie erfolgreich sind, sollten Sie die ProxySQL-Server-Shell sehen.
mysql -u sbuser -psbpass -h 127.0.0.1 -P 6033 --prompt='proxysql-deb> '
Geben Sie die folgende Abfrage ein, um die Liste der Datenbanken im Percona XtraDB-Cluster zu überprüfen. In diesem Beispiel gibt es eine Datenbank ‘percona‘ im Percona XtraDB-Cluster.
show databases;Wechseln Sie über die folgende ‘USE‘-Abfrage zur Datenbank ‘percona‘.
use percona
Geben Sie als Nächstes die folgenden Abfragen ein, um die Liste der Tabellen in der Datenbank ‘percona‘ zu überprüfen. Rufen Sie dann die verfügbaren Daten in der aktuellen Datenbank ab, an der Sie arbeiten.
show tables;
select * from example;Sie sollten eine Ausgabe wie diese erhalten - Datenbanken, die im Percona XtraDB-Cluster gespeichert sind, sind vom ProxySQL-Server aus zugänglich. Dies bedeutet, dass Ihre Installation von ProxySQL als Lastenausgleich für den Percona XtraDB-Cluster erfolgreich war.

Geben Sie als Nächstes die folgenden Abfragen ein, um neue Daten in die Datenbank ‘percona‘ und die Tabelle ‘example‘ einzufügen.
INSERT INTO percona.example VALUES (4, 'pxc04');
INSERT INTO percona.example VALUES (5, 'pxc05');Überprüfen Sie dann erneut die neu aktualisierten Daten mit der folgenden Abfrage. Wenn erfolgreich, sollten Sie die neuen Daten in der Tabelle ‘example‘ erhalten. Dies bestätigt, dass Ihr Benutzer lesen und in Datenbanken im Percona XtraDB-Cluster schreiben kann.
select * from example;
Um sicherzustellen, dass Ihre neuen Daten im Percona XtraDB-Cluster aktualisiert werden, müssen Sie direkt vom Percona XtraDB-Cluster-Server überprüfen.
Melden Sie sich bei Ihrem Percona XtraDB-Cluster-Server an, greifen Sie über den Root-Benutzer auf die MySQL-Shell zu und führen Sie dann die folgende Abfrage aus, um die Daten aus der Datenbank ‘percona‘ und der Tabelle ‘example‘ abzurufen.
select * from percona.example;Wenn erfolgreich, sollten Sie die neuen Daten erhalten, die Sie über den ProxySQL-Server hinzugefügt haben.

Mit diesem Wissen war Ihre Installation des ProxySQL-Servers als Lastenausgleich für das MySQL-Cluster oder den Percona XtraDB-Cluster erfolgreich.
Fazit
In diesem Leitfaden haben Sie einen Lastenausgleich des MySQL-Clusters oder des Percona XtraDB-Clusters über ProxySQL auf einem Debian 11-Server konfiguriert. Sie haben ProxySQLv2 installiert, den Percona XtraDB-Cluster zu ProxySQL hinzugefügt und die Überwachung des Percona XtraDB-Clusters auf ProxySQL konfiguriert.
Darüber hinaus haben Sie auch MySQL- oder Percona XtraDB-Cluster-Benutzer erstellt und konfiguriert, die für Ihre Anwendungen verwendet werden können. Sie haben auch den Lastenausgleich des MySQL-Clusters oder des Percona XtraDB-Clusters über ProxySQL überprüft, der hohe Verfügbarkeit und Fehlertoleranz für Ihren Datenbankserver und Ihre Anwendungen ermöglicht.
Damit können Sie nun weitere Percona XtraDB-Cluster-Knoten zu Ihrem Lastenausgleich-Datenbankserver hinzufügen. Außerdem können Sie eine Lese-/Schreibtrennung über ProxySQL einrichten, ProxySQL-Sharding einrichten und eine SSL-Verbindung von ProxySQL zum Percona XtraDB-Cluster einrichten. Um mehr über ProxySQL zu erfahren, besuchen Sie die offizielle Dokumentation von ProxySQL.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.