sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fel För många anslutningar

Delade värdleverantörer tillåter i allmänhet en ganska liten mängd samtidiga anslutningar för samma användare.

Vad din kod gör är:

  • öppna en anslutning till MySQL-servern
  • gör sina saker (genererar sidan)
  • stäng anslutningen i slutet av sidan.

Det sista steget, när det är gjort i slutet av sidan, är inte obligatoriskt :(citerar mysql_close s manual) :

Men observera att du förmodligen inte bör använda beständiga anslutningar ändå...

Två tips :

  • använd mysql_connect istället för mysql_pconnect (redan OK för dig)
  • Ställ in den fjärde parametern för mysql_connect till false (redan OK för dig, eftersom det är standardvärdet) :(citerar manualen) :


Vad kan då orsaka problemet?

Kanske försöker du komma åt flera sidor parallellt (till exempel med flera flikar i din webbläsare) , som kommer att simulera flera användare som använder webbplatsen samtidigt ?

Om du har många användare som använder webbplatsen samtidigt och koden mellan mysql_connect och stängningen av anslutningen tar mycket tid, det kommer att innebära att många anslutningar öppnas samtidigt... Och du når gränsen :-(

Men eftersom du är den enda användaren av programmet, med tanke på att du har upp till 200 samtidiga anslutningar tillåtna, är det något konstigt på gång...


Tja, tänker på "för många anslutningar " och "max_connections "...

Om jag minns rätt, max_connections begränsar inte antalet anslutningar du kan öppna till MySQL-servern, men det totala antalet anslutningar som kan öppnas till den servern, av vem som helst som ansluter till den .

Citerar MySQL:s dokumentation om För många anslutningar :

Så faktiskt, problemet kanske inte kommer från dig eller din kod (vilket ser bra ut, faktiskt) :det kan "bara" vara så att du inte är den enda som försöker ansluta till den där MySQL-servern (kom ihåg, "delad värd") , och att det är för många som använder det samtidigt...

... Och om jag har rätt och det är det , det finns inget du kan göra för att lösa problemet :så länge det finns för många databaser/användare på den servern och den max_connection är inställd på 200, kommer du att fortsätta lida...


Som en anteckning:innan du går tillbaka till GoDaddy och frågar dem om det, skulle det vara trevligt om någon kunde bekräfta det jag just sa ^^



  1. Dynamisk SQL SELECT-sats med PHP baserat på användaralternativ

  2. Hur kan jag hasha lösenord i postgresql?

  3. MySQL:välja rader där en kolumn är null

  4. Hur man skickar ett databasvärde i en hyperlänk med PHP + HTML