MySQL - Too many connections

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

26.07.2004, aktualisiert 04.11.2013, 101922 Aufrufe, 7 Kommentare

Wenn die Meldung: "Too many connections" beim Verbinden mit der MySQL erscheint, hat man den Wert der gleichzeitigen Verbindungen von einem Scipt (z.B. PHP) zur Datenbank erreicht ("max_connections"). Um das Problem nun zu lösen, sollte man als erstes seine aktuellen Werte über den Command-Prompt der MySQL abfragen (mysql -u user -p datenbankname).

Den aktuellen Wert ermittelt man mit dem Befehl:

Alle aktuellen MySQL Werte bekommt man mit:
Um den Wert max_connections während der Laufzeit (ohne Neustart der MySQL) neu zu setzen reicht ein:
Um beim Start der MySQL den Wert zu setzen, muss man in die Datei:
den Wert:
eintragen. Das war schon alles!

Danach noch einmal den Wert mit:
überprüfen. Laut dem MySQL Handbuch kann eine MySQL Datenbank, je nach Hardware und RAM, bis zu 4000 Verbindungen vertragen (max_connections=3999). Man sollte sich aber unbedingt den Speicherverbrauch für jede einzelne Verbindung zusammenrechen. Mit jeder Verbindung steigt der gesamt Speicherverbrauch an. Der gesamt Speicherverbrauch für die MySQL sollte die Grenze von 60% bis 70% des Arbeitsspeichers nicht überschreiten (mein persönlicher Erfahrungswert).

Damit die Einstellung auch beim nächsten Neustart gesetzt wird, muss "max_connections" natürlich in die MySQL Konfigurationsdatei "my.cnf" (bei Linux meist unter /etc/mysql/my.cnf zu finden) eingetragen werden.

In diesem Zusammenhang sollte man sich das Tool mysqltuner anschauen. Es zeigt den maximalen Speicherverbrauch und Fehler in der "my.cnf" Konfiguration an. Auch kann es diverse Optimierungstipps für die Konfiguration geben.

Weitere Informationen findet man unter: http://docs.oracle.com/cd/E17952_01/refman-5.6-en/too-many-connections. ...

Wer noch weiterführende Erfahrungen mit dem "max_connect" Wert, oder jeder anderen MySQL Variablen hat, kann das gerne hier berichten.

Gruß
Frank
Mitglied: 6770
25.11.2004 um 22:00 Uhr
Hallo, ich habe den Wert während MySQL lief wie beschrieben gesetzt, er wird auch übernommen, jedoch ist er nach dem Neustart von MySQL wieder auf dem alten Wert. Muss ich den Wert auch in der etc/my.cnf setzen wenn ich ihn bereits über den set Befehl gesetzt habe?
Bitte warten ..
Mitglied: Frank
30.11.2004 um 13:24 Uhr
Hallo,

ja natürlich. Der Set Befehl gilt nur für den momentanen aktiven Zustand. Beim Neustart der MySQL muss der Wert in der my.cnf gesetzt sein.

Gruß
Frank
Bitte warten ..
Mitglied: stilleswasser
20.01.2006 um 13:09 Uhr
Hallo,

ich habe das gerade unter einem wamp ausprobiert aber er setzt die zahl nicht hoch (MySQL 4.0.15-nt win2000 server)

ich habe schon sämtliche cnf dateien angepasst (my-nt.cnf) gibts ncoh einen trick?

grüße

und vielen dank

christian
Bitte warten ..
Mitglied: Biber
20.01.2006 um 13:35 Uhr
Moin stilleswasauchimmer,

a) durchgestartet hast Du die DB? (nur sicherheitshalber gefragt)
b) Das Setzen der Variable
set-variable=max_connections=500
sollte in die [mysqld] Section.
Sonst ignoriert MySQL das.

Grüße
Biber
Bitte warten ..
Mitglied: BrainBug
25.06.2006 um 11:52 Uhr
Mich würde mal interessieren, wie man die richtigen Werte ermittelt?

Es kommt ja schon auf die Hardware an.
Ein P3/1000 ist mit max_connection=500 garantiert schnell überfordert.

Wer hat da Erfahrungen?
Ich zb.. betreibe einen Intel Celeron 2400 mit 512 MB Ram.
Wie hoch sollte da die max_connection sein?

Cu DeltaX
Bitte warten ..
Mitglied: SvenGuenter
07.08.2007 um 16:36 Uhr
Hallo es kommt da weniger auf die Connection als auf die Komplexität der DB an. Hast du Resultsets die aufwendig über mehrere Tabellen gehen kommst du recht schnell an deine Grenzen. Hast du recht flache Tabellen kannst du viel mehr Connection haben da der Server nur einfach Mengenlehre machen muß.

Ich selber habe einen PIII 800 EB mit 4 GB RAM. Da habe ich teilweise bis zu 1000 Connection und der läuft ohne mucken, da ich die Tabellen dementsprechend angepaßt habe.

Hoffe das ich ein wenig helfen konnte auch wenn es keine eindeutige Antwort auf deine Frage war.

Gruß

Sven
Bitte warten ..
Mitglied: ernibert
31.10.2007 um 11:19 Uhr
hm, auf meiem debian system liegt die datei hier:
/etc/mysql/my.conf

trage ich die zeile dort ein und starte mysql neu wird der wert nicht übernommen. falsche datei oder kann es durch eine andee einstellung ausgehebelt werden?
Bitte warten ..
Heiß diskutierte Inhalte
Switche und Hubs
Kaufberatung (10G) Switche für Unternehmensnetzwerk
ipzipzapFrageSwitche und Hubs27 Kommentare

Moin, unsere Firma zieht um und am neu renovierten Standort muss/soll alles neu. Auf drei Etagen stehen Racks, in ...

Drucker und Scanner
Vorlage Endlospapier Nadeldrucker
Hanspeter82FrageDrucker und Scanner17 Kommentare

Hallo, hab die Aufagbe bekommen, eine Vorlage zuerstellen bzgl. Druck auf Endlos Papier über einen Nadeldrucker. Habe allerdings kein ...

Exchange Server
Primäre Mailadresse auf Kleinbuchstaben anpassen
JoergDdorfFrageExchange Server16 Kommentare

Hallo Alle, wir betreiben ein Exchange Hybrid (2016/365). Ich stehe vor dem Problem, dass ich die bestehenden primären Mailadresse ...

LAN, WAN, Wireless
2 Lan Dosen (Unterputz) miteinander Verbinden
gelöst RickHHFrageLAN, WAN, Wireless12 Kommentare

Moin zusammen, ich würde mir gerne auf dem Dachboden 2 Landosen in einen Raum Bauen. Ein Netzwerkkabel geht hoch, ...

Windows Userverwaltung
Active Directory Gruppen auslesen
gelöst MMaiwaldFrageWindows Userverwaltung12 Kommentare

Guten Abend, ich habe mir das Codeschnipsel geschnappt und möchte dieses noch erweitern. Dazu möchte ich noch die Beschreibung ...

Microsoft
Gespeichertes Eventlog per Powershell durchsuchen
DerWoWussteFrageMicrosoft11 Kommentare

Werte Kollegen! Ich archiviere die Securitylogs des Domänencontrollers jeden Tag. Wenn ich nun etwas im Log von z.B. vorgestern ...

Ähnliche Inhalte
Netzwerkgrundlagen
The Illustrated TLS Connection
LochkartenstanzerInformationNetzwerkgrundlagen4 Kommentare

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

CMS
Freie Wähler Bayern MySQL PW online
sabinesInformationCMS6 Kommentare

Die Typo3 Installation der Freien Wähler Bayern scheint wohl längere Zeit nicht mehr angefasst und/oder fehlkonfiguriert zu sein. Nach ...

Datenbanken
MySQL Upgrade 80015 auf 80016 Fehler
FrankInformationDatenbanken2 Kommentare

Hallo Mysql User, mit dem neuesten Upgrade von Version 80015 auf 80016 wurde der automatische Upgrade Vorgang von Oracle ...

PHP

PHP Update sorgt für MySQL Ausfälle - caching sha2 password funktioniert plötzlich nicht mehr

FrankInformationPHP

Hallo Administratoren, heute Morgen hatten wir einen ärgerlichen Ausfall der Administrator.de Seite. Schuld war das neueste Sicherheits-Update von PHP ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT