Erreur sql "too many connections"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur sql "too many connections"

Re: Erreur sql "too many connections"

par moogli » 10 juin 2014, 21:53

salut,


généralement ceci est du :
- A une limitation du nombre de connexion simultanée sur le serveur pour le même utilisateur
- De scripts qui ne ferme pas les connexions et les laisses latente.

est ce que tu as des "connexions persistantes" ?
est ce que tu ferme bien la connexion en fin de script ?
est ce qu'il ne reste pas des connexions "zombie" (fermé de ton coté suite a un arrêt brutal de script / soft et pas fermé coté serveur ?).

un exemple qui peux poser problème :
- ouverture d'une connexion avec un soft pour voir qu'il y a sur la base de donnée
- un script qui ouvre une connexion sans la fermer
- Le même script, plus bas ouvre un autre connexion => ouch (à multiplier par le nombre maximum de connexion possible).

si cela ne résous pas ton problème, je t'invite a créer ton propre sujet (quitte à y indiquer ce sujet).
ton code pourras aider (dans cas nouveau sujet ;) )
merci

@+

Re: Erreur sql "too many connections"

par fmx28i » 10 juin 2014, 11:50

Bonjour,

Je débute dans le développement d'une boutique en ligne depuis ce matin impossible de me connecter a mon panneau d'admin voici le message :
Link to database cannot be established: SQLSTATE[08004] [1040] Too many connections
Pas de connection intenses... que ce passe t il ?
Merci d'avance a tous pour vos réponse ;) :D

par dunbar » 04 juil. 2009, 12:06

Ou bien il considère que c'est une pure merveille et qu'il à peur que le monde entier recopie l'œuvre de sa vie. Bien sur...
Probablement :)

par Berzemus » 04 juil. 2009, 10:07

Ou bien il considère que c'est une pure merveille et qu'il à peur que le monde entier recopie l'œuvre de sa vie. Bien sur...

par dunbar » 03 juil. 2009, 19:15

J'ai comme l'impression, qu'il à peur de nous le montrer :-k

par Sékiltoyai » 03 juil. 2009, 17:36

si c'est du code que cela vient, cela risque de se reproduire.
...
Y aura qu'à remonter le topic.
En nous postant le code…

par enneite » 03 juil. 2009, 12:05

si c'est du code que cela vient, cela risque de se reproduire.
...
Y aura qu'à remonter le topic.

par iclo » 03 juil. 2009, 11:47

Ça ne me dit pas d'où vient l'erreur
de ton code ......;)

par enibib » 03 juil. 2009, 10:12

Après redémarrage du serveur ou était stocké mes BDD tout refonctionne ...
Ça ne me dit pas d'où vient l'erreur mais merci de vos conseil j'en ai appris déjà un peu plus .

par Berzemus » 02 juil. 2009, 19:33

En dehors de nous montrer ton code (sans quoi tu ne trouveras que très peu d'aide de notre part, puisque l'origine nr1 de toutes les erreurs, c'est le code, ou plus rigoureusement, le codeur), essaye de voir à travers phpmyadmin les différents processus (même chose que show processlist, mais un peu plus facile d'accès à un novice) et de pourquoi ils mettent un temps dingue à s'exécuter .

Un processus ne devrait durer que quelques dixièmes de secondes, sinon ça signifie un défaut de conception, et donc une erreur dans le code.

par dunbar » 02 juil. 2009, 18:47

Ja vais renouveler une question déjà posée, est ce que tu peux nous montrer ton code ?
A ça me rassure, je commençais à croire que ma question était stupide :)

par Sékiltoyai » 02 juil. 2009, 18:29

Ja vais renouveler une question déjà posée, est ce que tu peux nous montrer ton code ?

par mojorisin » 02 juil. 2009, 17:48

Bonjour,
cela vient peut-etre de requetes trop lourde ou mal conçu qui bloque la queue des requetes.

Connexion au serveur via la ligne de commande (binaire mysql) avec le compte root :
> SHOW PROCESSLIST;

Regardez l'état des requetes, par qui elles sont lancées etc...

Si un provcess est fautif :
> KILL <numero process>

par enibib » 02 juil. 2009, 16:46

Merci de tes conseils je vais voir ce que je peut faire .
Cela dit je ne comprend pas à aucun moment je ne demande plusieurs connexion et seul 3 personnes (maximum) utilisent l'application, de plus je n'est plus accès à mon phpmyadmin :?

Étant débutant en développement j'essaie de faire au mieux mais cela n'est pas toujours simple .




J'ai essayer d'augmenter la variable max_connections => sans effet
et pour mysql.max_links sa valeur était déjà en no limit ( - 1 )
et je n'utilise jamais de mysql_pconnect()

par enneite » 02 juil. 2009, 16:41

Il faut
1) n'ouvrir des connexions mysql qu'en début et en fin de script (dans la plupart des cas)
donc en gros, il faut que tu n'en n'ai que 1 par pages PHP. Il ne faut pas que les appelle dans les fonctions.

2) tu peux parametrer mysql : en modifiant la variable
max_connections=...???...
dans le my.ini ou my.conf.


3) tu peux parametrer php : mysql.max_links = .. dans le php.ini

4) ne pas utiliser mysql_pconnect(), c'est pourri et obsolete