Article ID: 769, created on Mar 20, 2009, last review on May 11, 2014

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


a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF