2014-09-12 2 views
0
# -*- coding: utf-8 -*- 
import MySQLdb 
import sitedb 

for i in range(5): 
    print i 
    cred = sitedb.loadmysqlcredential() 
    db = MySQLdb.connect(host = cred["host"], user = cred["user"], passwd = cred["passwd"], db = "vg_site_db", charset = 'utf8') 
    db.close() 

J'ai MySQL sur les différents serveurs: Windows et Linux. Au Win ce code fonctionne correctement. Au Linux sur le troisième itérativement mysql triste: Perdu connexion au serveur MySQL à «lecture paquet de communication initiale», erreur système: 0.Perte de connexion au serveur MySQL lors de la lecture d'un paquet de communication initial

Ce que je dois changer sur le serveur Linux?

UPD:

Le problème est que je boucle (pour), et lorsque i = 0 connexion se produisent, aussi comme i = 1 et 2, mais à côté de la connexion bloquée

Répondre

0

Après googler je trouve que quelques fois il arrive, et le redémarrage peut résoudre le problème. Je redémarre mon système et le script fonctionne correctement.

0

Ci-dessous est un exemple d'une chaîne de conneection J'utilise contre un db linux, elle pourra être utile:

dbSomeDBConnection = MySQLdb.connect(host="10.100.10.2", 
         user="root", 
         passwd="", 
         db="unitTestDB", 
         charset="utf8" 
        ) 

UPD:

J'ai testé votre code par rapport à ma configuration Linux (CentOS 6 avec MySQL 5.1.73) et je ne suis pas capable de reproduire votre problème. Vous pouvez essayer de simplifier votre partie de credential comme je l'ai fait ci-dessous et voir si vous avez toujours le problème. Voici ce que j'ai utilisé pour tester vos trucs et il fonctionne très bien pour moi:

# -*- coding: utf-8 -*- 

import MySQLdb 

for i in range(5): 
    print i 
    db = MySQLdb.connect(host = "10.100.10.2", user = "root", passwd = "", db = "unitTestDB", charset = "utf8") 
    db.close() 
+0

le problème est que j'ai la boucle (pour), et quand i = 0 connexion se produit, aussi comme i = 1 et 2, mais ensuite la connexion bloquée. –

+0

@GulaevValentin J'ai posté une mise à jour de code avec le test et n'a pas pu reproduire, essayez de simplifier encore plus vos tests, c'est peut-être un paramètre de configuration sur votre serveur pour le nombre de connexions simultanées sait) –

+0

Le mystique, je redémarre mon Linux et le code fonctionne. Merci pour ton aide!!! –

Questions connexes