Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Fehler Zu viele Verbindungen

Shared-Hosting-Anbieter erlauben im Allgemeinen eine ziemlich kleine Anzahl gleichzeitiger Verbindungen für denselben Benutzer.

Was Ihr Code tut, ist:

  • Öffnen Sie eine Verbindung zum MySQL-Server
  • erledigen (Erstellen der Seite)
  • Schließen Sie die Verbindung am Ende der Seite.

Der letzte Schritt am Ende der Seite ist nicht obligatorisch :(Zitat mysql_close 's Handbuch) :

Beachten Sie jedoch, dass Sie wahrscheinlich sowieso keine dauerhaften Verbindungen verwenden sollten ...

Zwei Tipps :

  • benutze mysql_connect anstelle von mysql_pconnect (bereits OK für dich)
  • Setzen Sie den vierten Parameter von mysql_connect auf false (bereits OK für Sie, da es der Standardwert ist) :(Zitat aus dem Handbuch) :


Was könnte dann das Problem verursachen?

Möglicherweise versuchen Sie, auf mehrere Seiten parallel zuzugreifen (z. B. über mehrere Registerkarten in Ihrem Browser) , wodurch mehrere Benutzer gleichzeitig die Website nutzen ?

Wenn Sie viele Benutzer haben, die die Site gleichzeitig verwenden, und den Code zwischen mysql_connect und das Schließen der Verbindung viel Zeit in Anspruch nimmt, bedeutet dies, dass viele Verbindungen gleichzeitig geöffnet werden ... Und Sie werden das Limit erreichen :-(

Da Sie jedoch der einzige Benutzer der Anwendung sind, wenn man bedenkt, dass Ihnen bis zu 200 gleichzeitige Verbindungen erlaubt sind, geht etwas Seltsames vor sich...


Nun, wenn ich an "zu viele Verbindungen denke " und "max_connections "...

Wenn ich mich richtig erinnere, max_connections begrenzt nicht die Anzahl der Verbindungen Sie zum MySQL-Server öffnen kann, sondern die Gesamtzahl der Verbindungen die für diesen Server geöffnet werden kann, von jedem, der sich damit verbindet .

Zitieren der MySQL-Dokumentation zu Zu viele Verbindungen :

Also liegt das Problem möglicherweise nicht an Ihnen oder Ihrem Code (der eigentlich gut aussieht) :Es könnte "nur" sein, dass Sie nicht der Einzige sind, der versucht, sich mit diesem MySQL-Server zu verbinden (denken Sie daran, "Shared Hosting") , und dass es zu viele Leute gleichzeitig benutzen...

... Und wenn ich recht habe und es das ist , können Sie nichts tun, um das Problem zu lösen:solange es zu viele Datenbanken / Benutzer auf diesem Server und dieser max_connection gibt auf 200 eingestellt ist, werden Sie weiter leiden...


Als Nebenbemerkung:Bevor ich GoDaddy danach frage, wäre es schön, wenn jemand bestätigen könnte, was ich gerade gesagt habe ^^