Die Fehlermeldung "Could not connect to SQL database. Too many connections" wird angezeigt

Created:

2016-11-16 13:05:17 UTC

Modified:

2017-08-16 15:44:30 UTC

26

Was this article helpful?


Have more questions?

Anfrage einreichen

Die Fehlermeldung "Could not connect to SQL database. Too many connections" wird angezeigt

Applicable to:

  • Plesk for Linux/Unix

Symptome

Manchmal wird im Plesk CP oder beim Öffnen einer Site im Browser folgende Fehlermeldung angezeigt:

Unable to connect to database: Too many connections (Verbindung zur Datenbank kann nicht hergestellt werden. Zu viele Verbindungen)

Ursache

Diese Fehlermeldung weist darauf hin, dass das Limit gleichzeitiger MySQL-Verbindungen zum MySQL-Server erreicht ist und momentan keine neuen Verbindungen zum Server eingerichtet werden können.

Lösung

Es gibt zwei Methoden zum Beheben dieses Problems. Die erste Methode besteht in der Erhöhung des Verbindungslimits, die zweite in der Ermittlung der Ursache des Fehlers "Too many connections" und dem Versuch, die Auslastung von MySQL-Server zu verringern.

Der Status des MySQL-Servers kann mithilfe des Tools 'mysqladmin' überprüft werden. Verwenden Sie z.B. folgenden Befehl, um die Anzahl der aktuellen Verbindungen zum Server herauszufinden:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` extended-status | grep Max_used_connections
| Max_used_connections | 11 |


Die aktuelle Einstellung für das Verbindungslimit können Sie mit folgendem Befehl abrufen:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow ` variables | grep 'max.*connections'
| max_connections | 100 |
| max_user_connections | 0


Im oben stehenden Beispiel ist die maximale Anzahl der Verbindungen zum Server (max_connections) auf 100, die maximale Anzahl von Verbindungen pro Benutzer (max_user_connections) auf Null festgelegt, was gleichbedeutend mit unbegrenzt ist. Dies sind die MySQL-Standardwerte. Sie können in /etc/my.cnf neu definiert werden, zum Beispiel:

[mysqld]
set-variable=max_connections=150
set-variable=max_user_connections=20

Starten Sie MySQL neu, nachdem Sie my.cnf geändert haben.

Beachten Sie, dass durch Festlegen eines sehr hohen Verbindungslimits (mehr als 300) die Serverleistung beeinträchtigt werden kann. Der bessere Weg ist es, die Ursache der hohen Auslastung des MySQL-Servers zu ermitteln. Sie können z.B. mit folgendem Befehl überprüfen, welche Benutzer/Anfragen alle aktuellen Verbindungen nutzen und MySQL verlangsamen:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` processlist


Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.