Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL - Too many connections

Anleitung Entwicklung Datenbanken

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

26.07.2004, aktualisiert 04.11.2013, 98257 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:

01.
show variables like 'max_connections';  
02.
+-----------------+-------+ 
03.
| Variable_name   | Value | 
04.
+-----------------+-------+ 
05.
| max_connections | 200   | 
06.
+-----------------+-------+
Alle aktuellen MySQL Werte bekommt man mit:
SHOW STATUS;
Um den Wert max_connections während der Laufzeit (ohne Neustart der MySQL) neu zu setzen reicht ein:
set GLOBAL max_connections=500;
Um beim Start der MySQL den Wert zu setzen, muss man in die Datei:
/etc/my.cnf
den Wert:
set-variable = max connections=500
eintragen. Das war schon alles!

Danach noch einmal den Wert mit:
show variables like 'max_connections';
ü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: deltax
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 ..
Neuester Wissensbeitrag
Windows 10

Server 2016 Core als VM auf Win10 1607 - geht nicht

(1)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Off Topic
Mein Arbeitsplatz wurde Outgesourced (42)

Frage von Schroedingers.Katze zum Thema Off Topic ...

Windows Server
gelöst Windows Server Sicherung wirre Meldungen (21)

Frage von DKowalke zum Thema Windows Server ...

Windows 10
gelöst GPO wird bei manchen Rechnern nicht übernommen (20)

Frage von Hanuta zum Thema Windows 10 ...

Mac OS X
gelöst Netzlaufwerke MAC OS Sierra (16)

Frage von Hendrik2586 zum Thema Mac OS X ...