problème de connexion mysql lors des test

Bonjour,

J’essaie d’utiliser les tests de rails. (rake test) mais une erreur
apparait lors de l’opération.

`real_connect’: Can’t connect to MySQL server on ‘localhost’ (10048)
(Mysql::Error).

C’est étrange car l’application en mode dev se lance sans problème.

J’ai bien créé ma base de test dans mysql
la connexion est paramètrée de la manière suivante:

test:
adapter: mysql
encoding: utf8
database: projet_sav_test
username: root
password: xxxxxx
host: localhost

Sur le site de MySQL on me propose une d’ajouter 2 clés dans la base de
registre pour traité cette erreur. j’ai effectuer l’opération. Mais si
plus aucune erreur n’apparait, l’opération dure éternellement. Et si je
vais voir les connexions à MySQL en cours, y en a plus d’une centaine,
mais toute en commande sleep.

Quelqu’un peut-il m’aider S.V.P.?
(Ca fait déjà 2 jours que je bloque)
Merci d’avance.

Sébastien Sg a écrit :

J’ai bien créé ma base de test dans mysql
Sur le site de MySQL on me propose une d’ajouter 2 clés dans la base de
registre pour traité cette erreur. j’ai effectuer l’opération. Mais si
plus aucune erreur n’apparait, l’opération dure éternellement. Et si je
vais voir les connexions à MySQL en cours, y en a plus d’une centaine,
mais toute en commande sleep.

Quelqu’un peut-il m’aider S.V.P.?
(Ca fait déjà 2 jours que je bloque)
Merci d’avance.

et ta configuration de dev est comment ? Si elle fonctionne, tu ne
devrais qu’à avoir à la copier


Cyril M.

Sébastien Sg a écrit :

C’est déjà le cas. La config est la même. A part pour database qui
pointe bien entendu sur la base de dev.

Quand je fais un rake db:test:prepare, la structure est bien créée dans
ma base de test.
C’est donc vraiment le lancement des tests qui pose problème.

et un rake --test, te dis que ça plante sur quel ligne ?


Cyril M.

Cyril M. wrote:

et ta configuration de dev est comment ? Si elle fonctionne, tu ne
devrais qu’à avoir à la copier


Cyril M.
http://blog.shingara.fr/

C’est déjà le cas. La config est la même. A part pour database qui
pointe bien entendu sur la base de dev.

Quand je fais un rake db:test:prepare, la structure est bien créée dans
ma base de test.
C’est donc vraiment le lancement des tests qui pose problème.

Cyril M. wrote:

et un rake --test, te dis que ça plante sur quel ligne ?


Cyril M.
http://blog.shingara.fr/

le rake --test n’a pas l’air de faire grand chose. la commande se lance
et s’arrête aussitot.

Je ne suis pas sur de comprendre ta phrase "ça plante sur quel ligne ?
"

Lorsque je lance rake test le rake essai d’effectuer les test unitaire
puis les test fonctionnel mais sans succès. Avec le message cité plus
haut. Et depuis que j’ai modifier ma base de registre. Soit la commande
ne s’arrête jamais soit elle m’affiche l’erreur : Too many connections
(Mysql::Error).
Ce qui est fort probablement lié aux centaines de connexions MySQL en
sleep dans mon client d’administration MySQL (Voir screenshot attaché).

Merci en tout cas pour tes réponses.

Sébastien Sg a écrit :

et s’arrête aussitot.
sleep dans mon client d’administration MySQL (Voir screenshot attaché).

Merci en tout cas pour tes réponses.

Attachments:
http://www.ruby-forum.com/attachment/4080/connexion_list.jpeg

Je voulais dire --trace. Excuse moi.

Sinon tu as testé en mettant 127.0.0.1 en host ?


Cyril M.

Cyril M. wrote:

Sébastien Sg a écrit :

et s’arrête aussitot.
sleep dans mon client d’administration MySQL (Voir screenshot attaché).

Merci en tout cas pour tes réponses.

Attachments:
http://www.ruby-forum.com/attachment/4080/connexion_list.jpeg

Je voulais dire --trace. Excuse moi.

Sinon tu as testé en mettant 127.0.0.1 en host ?


Cyril M.
http://blog.shingara.fr/

Ben avec --trace y a pas grand chose de plus. Ca bloque après:

(in C:/Projets/Projet_SAV/Source/Projet_SAV)
** Invoke test (first_time)
** Execute test
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Invoke test:functionals (first_time)
** Invoke db:test:prepare
** Execute test:functionals
C:/ruby/bin/ruby.exe -I"lib;test"
“C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb”
“test/functio
nal/articles_controller_test.rb”
“test/functional/clients_controller_test.rb”
“test/functional/comptes_controller_test.r
b” “test/functional/home_controller_test.rb”
“test/functional/interventions_controller_test.rb”
“test/functional/login_c
ontroller_test.rb” “test/functional/machines_controller_test.rb”
“test/functional/manage_controller_test.rb” “test/funct
ional/pdf_generator_controller_test.rb”
“test/functional/pdf_test_controller_test.rb”

Ou après avoir tué le process et relancer la commande y a ça qui
apparait en plus de ce qu’il y a ci dessus :

C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:548:in
real_co nnect': Too many connections (Mysql::Error) from C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:54 8:in connect’
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:19
8:in initialize' from C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:74 :in new’
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:74
:in mysql_connection' from C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection _pool.rb:223:in send’
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection
_pool.rb:223:in new_connection' from C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection _pool.rb:245:in checkout_new_connection’
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection
_pool.rb:188:in checkout' ... 53 levels... from C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in load’
from
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
from
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in
`each’
from
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
** Invoke test:integration (first_time)
** Invoke db:test:prepare
** Execute test:integration
C:/ruby/bin/ruby.exe -I"lib;test"
“C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb”
Errors running test:units and test:functionals!

Le 127.0.0.1 ne change rien.

2009/9/29 Sébastien Sg [email protected]:

Le 127.0.0.1 ne change rien.

et pour cause : Too many connections (Mysql::Error)

tu as trop de connections ouvertes vers ton MySQL. Essaie de réduire
la valeur du pool ou d’augmenter le nombre de connections disponibles
sur ton serveur MySQL.


http://fabien.jakimowicz.com
Sent from Paris, France

Fabien J. wrote:

2009/9/29 S�bastien Sg [email protected]:

Le 127.0.0.1 ne change rien.

et pour cause : Too many connections (Mysql::Error)

tu as trop de connections ouvertes vers ton MySQL. Essaie de r�duire
la valeur du pool ou d’augmenter le nombre de connections disponibles
sur ton serveur MySQL.


http://fabien.jakimowicz.com
Sent from Paris, France

Merci pour la réponse,

Mais le changement des valeurs du pool et l’augmentation du nombre de
connexion ne change rien. Le souci c’est que toutes ces connexions sont
justement générée par la commande de test. Il y a donc quelque chose
dans l’environnement de test qui génère toutes ces connexions.