python mysqldb - serveur mysql disparu - Il est impossible de reconnecter

En essayant d'importer un tas de données dans la table mysql par python et mysqldb Je rencontre l'erreur suivante «2006 - mySQL Server Je suis parti, "et puis je ne peux plus me connecter au script.

Initialement, je réutilise l'objet de connexion pour les transactions (Conçu conn.commit ()), Ensuite, lorsque je suis tombé sur cette exception, si je crée une nouvelle connexion, causant MySQLdb.connect (), Cette nouvelle connexion ne fonctionne pas non plus avec la même exception.

Cette erreur ne se produit pas immédiatement, je peux télécharger une quantité juste de données dans la base de données, mais elle se produit vraiment après avoir inséré quelques milliers d'enregistrements, alors après que la base de données ait enregistré un certain volume de transaction, elle tombe toujours comme ce .

Si je redémarre le script, sans redémarrer le serveur de base de données. Puis il renouvelle de l'endroit où il s'est arrêté, a pompé des données, puis tombe à nouveau.

Avant de donner des recommandations sur la modification d'un délai d'attente, quelqu'un sait-il pourquoi je ne peux pas installer une nouvelle connexion après la défaillance initiale? - Même si j'essaie d'attendre quelques secondes quelques secondes entre chacun.

(Au fait, j'utilise Windows 7, serveur mysql 5.1.48, mysqldb 1.2.3.gamma.1, python 2.6)
Invité:

Christine

Confirmation de:

Cela peut être dû au fait que vous prenez en charge la connexion constante à la base de données et que le temps d'attente peut expirer.

Voir ici:
https://stackoverflow.com/ques ... rails
et
https://stackoverflow.com/ques ... sqldb
Aussi, pourriez-vous fournir le code que vous avez essayé et qui ne fonctionne pas vraiment?

Et pendant que nous le faisons, la connexion à la base de données peut être coûteuse, mais vous pourrez peut-être acheter une nouvelle pour chaque partie. (à condition que vous puissiez diviser les données sur la fête)

Christine

Confirmation de:

J'ai vraiment fait
https://cloud101.eu/blog/2013/ ... 2006/
à propos de ce problème. Vous devez augmenter la taille max_allowed_packet:

# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 64M <======
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

Pour répondre aux questions, connectez-vous ou registre