IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Probleme perte de connexion au serveur


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut Probleme perte de connexion au serveur
    Bonjour

    J’aimerai savoir comment déterminer quel problème cause une coupure de connexion au serveur

    J’ai une procédure qui fait plusieurs opérations d’écriture dans la même table.
    Elle génère l’erreur suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error Code: 2006 MySQL server has gone away
    Y a-t-il un ou des fichier(S) d’erreur que je peux consulter pour avoir une idée de se qui fait perdre la connexion.

    Merci de votre aide.

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    la seule fois que j'ai vu cette erreur c'est pendant que j'executais une requete et que j'éteignais mon server (#service mysql stop)

    tu peux avoir une trace mysql dans le client (ça dépend de ton client) ou au niveau du serveur, consulte le fichier /etc/mysql/my.cnf

    edit: si tu suspectes un probleme réseau, pour moi rien ne vaux wireshark
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Bonjour gene69


    Je développe sur un serveur Windows 2003

    J’ai fait une recherche pour un fichier ( *.cnf) et je n’est rien trouvé.


    J’appel la procédure a partir de MYSQL Workbench en local sur le serveur, alors je mai le problème réseau de coté.

    J’ai une boucle dans ma procédure soi 1245 passes.
    • A chaque passe il y a une mise a jour sur une table qui se fait.
    • Les mises à jour se font toujours sur la même table.
    • Lors de la mise a jour plusieurs lignes peuvent être mise a jour (entre 1 et 250).

    Question de débutant :
    • Pourrait-il y avoir un débordement quelconque?
    • Est-ce que les mises à jours sont dans une file d’attente?

    Dans ma procédure je peux contrôler quelle portion de boucle qui doit être exécuté.
    Exemple : de 1 @ 40 ou 40@80
    De cette méthode si je ne dépasse pas 40 d’intervalle les mises à jour se font sans erreur.

    Alors quand le travail est trop gros il y a un probleme

    Blague a part il y a quelque chose de subtile qui m’échappe.


    Merci pour votre support

  4. #4
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    j'ai aucune idée de savoir s'il y a un nombre maximum de requete en attente dans le serveur, ça ne m'étonnerai pas, cependant je n'ai jamais eu l'occasion de constater, il me semble que le pilote mysql pour php est bloquant: tant que l'appel à query() (ou execute()) n'est pas terminé et que le résultat trouvé, le script n'avance pas.

    Vu ce que tu décris, je sèche un peu.

    pour ton *.cnf, j'aurai du te donner ce lien, http://dev.mysql.com/doc/refman/5.0/...ion-files.html
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  5. #5
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ceci dit j'ai un petit soucis, c'est une procédure Mysql qui génère l'erreur ou c'est une boucle dans un langage tier (php, C# ... )
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ceci dit j'ai un petit soucis, c'est une procédure Mysql qui génère l'erreur ou c'est une boucle dans un langage tier (php, C# ... )
    Voici le code qui est dans la procédure.

    Cette procédure souvent appelée (Stored Procedure), est enregistrée dans le serveur de base de donnée MySQL.
    Elle est pré compilé dans le sens que la syntaxe est validée à l’enregistrement (Création dans le programme MySQL Workbench).
    Sous MSSQL le nom des tables et des champs utilisé sont aussi validés, sous MySQL le nom des tables et des champs ne sont pas vérifiés à l’enregistrement (Création dans le programme MySQL Workbench).
    Enfin bref je pourrai en écrire encore plusieurs ligne a se sujet mais revenons a nos moutons…

    Alors la syntaxe est soumit aux règles de MySQL

    Voici la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    -- --------------------------------------------------------------------------------
    -- Routine DDL
    -- --------------------------------------------------------------------------------
    DELIMITER $$
     
    CREATE DEFINER=`root`@`localhost` PROCEDURE `TransfereCityNameCityNameValue`()
    BEGIN
    DECLARE IDNBR,CONTEUR INT(4);
    DECLARE v_CityName, V_CityNameValue VARCHAR(45);
    SET IDNBR = (SELECT COUNT(ID_test) FROM gdelaven.test);
     
    SET CONTEUR = 1;
    WHILE CONTEUR <=IDNBR DO
     
    IF EXISTS (SELECT test.ID_Test FROM test WHERE test.ID_Test = CONTEUR) then
     
    SET V_CityName =(SELECT test.CityName FROM gdelaven.test WHERE ID_Test = CONTEUR );
     
    SET V_CityNameValue = (SELECT test.CityNameValue FROM gdelaven.test WHERE ID_Test = CONTEUR );
     
     
     UPDATE `gdelaven`.`tbl_provquebeccodepostal2`
        SET
            `FRCityName` = V_CityName,
            `CityNameValue` = V_CityNameValue
            WHERE CityName = V_CityName
     
            ;
     
    END IF;
     
     SET CONTEUR = CONTEUR + 1;
    END WHILE;
     
    SELECT CONTEUR,V_CityName, V_CityNameValue;
     
    END
    Alors si quelqu’un a une idée pour m’aider a comprendre se qui peu bien se passé serais apprécié.

    Merci

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Bonjour

    J'ai fait une modification

    La définition de la variable V_CityNameValue est de type VARCHAR(45)

    Par contre la donnée inscrite dans `tbl_provquebeccodepostal2`. `CityNameValue` est de type INT(4)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE IDNBR,CONTEUR INT(4);
    DECLARE v_CityName, V_CityNameValue VARCHAR(45);
    Changer pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE IDNBR,CONTEUR, V_CityNameValue INT(4);
    DECLARE v_CityName VARCHAR(45);

    Mais le problème persiste.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    J’ai modifier le code et mi la section update en commentaire.
    Après l’appel de la procédure aucune erreur n’a été levée.

    J’en déduis que le problème est en relation avec la mise à jour.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Bonjour

    Je crois que j’ai trouvé une piste!!

    J’ai vu quelque chose qui me semble anormal.

    Je fait des testes pour valider mes soupons et j’afficherais les résultats

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Je crois que ma procédure ne peut pas fonctionner comme elle se doit car la colonne avec les numéros auto_increment de ma table Test cause problème.
    Il y a des sauts dans l’incrémentation des numéros.

    J’ai recréé mon problème avec des tables de plus petit format.

    J’ai deux tables bugtestsource_1 et bugtestsource_2

    Je crée une troisième table qui va recevoir les données des tables source.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    DROP TABLE IF EXISTS BugTest;
     
    CREATE TABLE `bugtest` 
    (
    `ID_bugtest` int(4) NOT NULL AUTO_INCREMENT,
     `CityName` varchar(45) NOT NULL,
     `CityNameValue` int(4) DEFAULT NULL,
     
     	 PRIMARY KEY (`ID_bugtest`),
      	UNIQUE KEY `ID_bugtest_UNIQUE` (`ID_bugtest`)
    )
     ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    INSERT INTO `BugTest` (cityname,CityNameValue) SELECT cityname,CityNameValue FROM bugtestsource_1;
    INSERT INTO `BugTest` (cityname,CityNameValue) SELECT cityname,CityNameValue FROM bugtestsource_2;
    Noter que la colonne ID_bugtest est auto incrémenté.

    Mai lorsque j’affiche la table bugtest la valeur de ID_bugtest est de 16 à la onzième ligne!! Elle devrait être 11.

    Nom : BugTest.JPG
Affichages : 1365
Taille : 32,0 KoBugtest.jpg


    J’ai mis des fichiers en attachement, si quelqu’un peu faire le test et me donné le résultat que sa lui donne serai grandement apprécié.
    Je fais peu être quelque chose de mal…

    Merci


    FICHIER DE DONNÉE
    bugtestsource_1.txt
    FICHIER DE DONNÉ
    bugtestsource_2.txt
    INSERTION DES DONNÉES DANS LES TABLES
    CreateInsert_bugtestsource_1_2.txt
    CRÉATION ET INSERTION DES DONNÉES DANS LA TABLE BUGTEST
    InsertIntoBugtest.txt

    Vos commentaires et suggestions seront apprécié.
    Merci pour votre aide

  11. #11
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ton fichier de données 1 est corrompu. il y a une colonne avec 3 colonnes.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  12. #12
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    bon, je sais que ça t'aurai aidé que ce soit un probleme, mais c'en est pas un.
    http://dev.mysql.com/doc/refman/5.1/...-handling.html

    cherche le mot "gaps" ou la traduction française.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    Bonjour à tous

    Mercie pour le lien

    Très intéressant et j’ai modifié la variable système innodb_autoinc_lock_mode.

    Bon se n’est pas un problème (BUG) de MysQL bien sur, plutôt une option pour avoir un comportement attendu du système.

    Mais sans ton intervention je ne sais pas comment je serai tombé sur cette information.
    Alor Merci encore gene69 et me revoila à la case départ.

    Quoi dire de plus

    Je développe sur un serveur virtuel et point peu être important le serveur gèle ou presque lorsque l’erreur se produit comme si quelque chose monopolisai tous les ressources pour deux à trois minutes.

    Via le gestinnaire de tâche je peu voir que la mémoire est utilisée qu’a 2% mai le processeur lui a 100%

    Quelqu’un aurait une suggestion?

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 39
    Points
    39
    Par défaut
    bonjour à tous

    Après plusieurs recherches, je suis tombé sur cette page:



    The connection and read timeouts are currently hardcoded.
    We recently raised their values to 30 and 600 seconds, respectively,
    which will be available with the next release.
    If you are willing to compile MySQL Workbench yourself to get this effect
    immediately then let me know and I'll give you the details what must be changed.


    La connexion et les délais de lecture sont à vrais dire codé en dur.
    Nous avons récemment augmenté leurs valeurs à 30 et 600 secondes,respectivement,qui sera disponible avec la prochaine version.

    http://forums.mysql.com/read.php?161,391544,392771

    J'espère que cette note pourra du moins sauver beaucoup de temps au lecteur qui lirons cette discussion.

    Alain

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perte de connexion réseau: serveur dhcp ?
    Par bipbipman2003 dans le forum Administration
    Réponses: 19
    Dernier message: 05/04/2011, 17h43
  2. Problème de connexion avec serveur AD - Samba
    Par mask66 dans le forum Réseau
    Réponses: 8
    Dernier message: 24/08/2009, 12h07
  3. Réponses: 3
    Dernier message: 02/05/2006, 13h19
  4. Problèmes de connexion au serveur - Samba
    Par Gwen38 dans le forum Réseau
    Réponses: 5
    Dernier message: 09/05/2005, 18h18
  5. Probleme de connexion au serveur Hotmail
    Par black is beautiful dans le forum Développement
    Réponses: 8
    Dernier message: 17/09/2004, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo