Que signifie l'erreur MySQL 2013?


14

J'exécute mysqldump sur un serveur mysql dans un cron (en tant que sauvegarde) et je reçois des messages d'avertissement comme

mysqldump: Got error: 2013: Lost connection to MySQL server during query when doing refresh

Que signifie cette erreur MySQL (2013)? J'ai fait une recherche sur Google et ce n'est pas très utile ...

Pour mémoire, mysqldump se connecte à un serveur MySQL Slave, il fonctionnait quand il se connectait à un maître.

Réponses:


4

Cela peut être très mauvais, cela 2013signifie que le thread desservant le mysqldumpprocessus est mort. Cela peut être dû au fait que le moteur InnoDB sur le serveur a détecté une erreur lors de la lecture du fichier de base de données pour votre base de données. Comme mysqldumppour lire toutes les pages de l'ensemble de votre base de données pour effectuer la sauvegarde, il est susceptible de déclencher toute corruption latente que votre application peut éviter au cours de son activité quotidienne.

Si vous exécutez votre mysqlcommande et qu'il indique que votre identifiant de connexion est un nombre faible, votre serveur s'est probablement redémarré. Vous devriez vérifier votre mysqld.logimmédiatement pour savoir pourquoi.


merci d'avoir accepté ma réponse, qu'avez-vous trouvé dans votre mysqld.log?
Dave Cheney

J'ai vu l'ID de connexion faible, ce qui signifie que le serveur a redémarré. Je ne sais pas encore pourquoi. Comment puis-je vérifier la «corruption latente
Rory

1
Si votre serveur mysql a redémarré lui-même, il y aura une grande (lire les pages de débogage) dans le journal mysql.
Dave Cheney

11

2013 signifie que la connexion au serveur a disparu. Il existe plusieurs possibilités:

  1. Quelqu'un a KILLédité la requête
  2. Des problèmes de réseau ont provoqué la mort de la connexion
  3. Le serveur est tombé en panne / est mort
  4. Votre connexion était inactive wait_timeoutet a été tuée
  5. Le client n'a pas extrait les données assez rapidement net_wait_timeoutet a été tué

1
Est-ce net_write_timeout ou net_wait_timeout ?
ks1322

aussi net_read_timeout= 600 et connect_timeout= 60

0

ouvrez-vous la connexion, effectuez une longue opération n'impliquant pas la connexion, puis essayez la requête? si tel est le cas, mysql a probablement interrompu la connexion en raison de l'attente wait_timeout. reconnectez-vous simplement avant d'émettre la requête.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.