Top-Themen

Aktuelle Themen (A bis Z)

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, 99547 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 ..
Ähnliche Inhalte
PHP
AutoComplete mit PHP MySQL jQuery jQueryUI JSON
Anleitung von GuenniPHP2 Kommentare

Auf die Frage"Wie kann man nach Eingabe in einem Textfeld Suchvorschläge anzeigen oder ein Select-Feld füllen", oder ähnlichen Fragen, ...

Windows Server
Microsoft Web Platform Installer 5.0 - Gängige Webserver-Dienste (PHP - MySQL - CMS - Blogs etc.) schnell und einfach installiert
Tipp von colinardoWindows Server5 Kommentare

Ein Tipp für alle die das Tool noch nicht kennen. Es bietet einen Assistenten zur Installation von gängigen Webserver-Diensten ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless9 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...