MySQL/MariaDB-Fehler „Zu viele Verbindungen“ beheben

Der MySQL-Error „Zu viele Verbindungen“ tritt auf, wenn an eine MySQL-Datenbank mehr Anfragen gestellt werden, als verarbeitet werden können. Beheben lässt sich der Fehler, indem eine neue Anzahl maximaler Verbindungen entweder in der Konfigurationsdatei oder global eingestellt wird.

Wie entsteht der MySQL-Fehler „Zu viele Verbindungen“?

Eine Datenbank kann nur eine beschränkte Anzahl an Anfragen gleichzeitig verarbeiten. Wird dieser Maximalwert überschritten, zeigt MySQL Ihnen die obige Fehlermeldung an. Dies ist beispielsweise der Fall, wenn ein PHP-Skript zu viele gleichzeitige Verbindungen zu der relationalen Datenbank aufbauen möchte. Auch, wenn Sie eine Webanwendung haben, die eine MySQL-Datenbank verwendet, ist es möglich, dass bei sehr starker Nachfrage der MySQL-Error „Zu viele Verbindungen“ auftritt.

HiDrive Cloud Speicher von IONOS!

Mit einem deutschlandbasierten Rechenzentrum, der Cloud-Speicher für Ihre Daten: sicher und flexibel für alle Geräte! 

Überall verfügbar
Gemeinsamer Zugriff
Sicher

Eine neue maximale Anzahl von Verbindungen auswählen

Die Systemvariable max_connections bestimmt die Anzahl der Verbindungen, die MySQL/MariaDB akzeptiert. Der Standardwert ist 151 Verbindungen, was 150 normale Verbindungen plus eine Verbindung aus dem SUPER-Konto ermöglicht. SUPER ist ein MySQL-Privileg, das dem User Adminrechte zuteilt.

Als erstes muss entschieden werden, welchen neuen Maximalwert Sie für max_connections einstellen möchten. Es gibt mehrere Überlegungen, die bei der Erhöhung der Anzahl der MySQL/MariaDB-Verbindungen zu berücksichtigen sind. Die maximale Anzahl, die vom System unterstützt werden kann, hängt von folgenden Faktoren ab:

  • Die Menge des verfügbaren Arbeitsspeichers (RAM)
  • Wie viel RAM jede Verbindung benötigt (einfache Abfragen benötigen weniger RAM als arbeitsintensivere Verbindungen)
  • Die akzeptable Reaktionszeit

Laut der MySQL-Dokumentation sollten die meisten Linux-Systeme 500 bis 1.000 Verbindungen problemlos unterstützen können.

Ändern von max_connections

Die Variable max_connections kann an zwei Stellen geändert werden:

Aktualisieren Sie die my.cnf-Datei, so dass der neue Wert verwendet wird, wenn der MySQL/MariaDB-Server neu gestartet wird.

Verwenden Sie den Befehl SET GLOBAL, um den Wert auf dem laufenden MySQL/MariaDB-Server zu aktualisieren. In diesem Fall ist kein Neustart von MySQL/MariaDB nötig, sodass Sie keine Ausfallzeiten Ihrer Datenbank einkalkulieren müssen.

Bei MySQL die Anzahl der Verbindungen anzeigen lassen

Um die aktuelle Anzahl der max_connections zu sehen, melden Sie sich mit dem folgenden Befehl im MySQL/MariaDB-Kommandozeilen-Client an:

mysql -u root -p

Verwenden Sie anschließend den Befehl:

SHOW variables;

Es wird eine Liste aller Variablen ausgegeben, die für MySQL/MariaDB gesetzt sind. Blättern Sie durch die Liste nach oben, um den Wert für max_connections zu finden.

Updaten Sie die Datei my.cnf

Öffnen Sie die Datei /etc/my.cnf zur Bearbeitung mit dem Befehl:

sudo nano /etc/my.cnf

Direkt unter der ersten Zeile sehen Sie folgenden Eintrag:

[mysqld]

Füge Sie einen neuen Eintrag hinzu:

max_connections=[desired new maximum number]

Um beispielsweise max_connections auf 200 zu setzen, sollten die ersten beiden Zeilen Ihrer Konfigurationsdatei wie folgt aussehen:

[mysqld]
max_connections=200

Speichern und beenden Sie die Datei.

Anzahl an Verbindungen global einstellen

Sie können die maximale Anzahl an Verbindungen für Ihre Datenbank auch global einstellen. Melden Sie sich zunächst mit dem Befehl am MySQL/MariaDB-Befehlszeilen-Client an:

mysql -u root -p

Setzen Sie den neuen Wert max_connections mit dem folgenden Befehl auf einen Wert Ihrer Wahl:

SET GLOBAL max_connections=[desired new maximum number];

Um beispielsweise max_connections auf 200 zu setzen, lautet der Befehl:

SET GLOBAL max_connections=200;

Beenden Sie anschließend MySQL/MariaDB mit dem Befehl:

quit;

Managed WordPress-Hosting mit IONOS!

Schneller, einfacher und sicherer. Hochgradig optimiertes WordPress-Hosting mit IONOS!

Kostenlose Domain
SSL-Zertifikat
24/7 Support