430 votes

Code d'erreur : 2013. Perte de connexion au serveur MySQL pendant la requête

J'ai Code d'erreur : 2013. Perte de connexion au serveur MySQL pendant la requête erreur lorsque j'ai essayé d'ajouter un index à une table à l'aide de mysQL workbench. Je remarque également qu'elle apparaît chaque fois que j'exécute une requête longue.

Est-il possible d'augmenter la valeur du délai d'attente ?

781voto

eric william nord Points 401

Les nouvelles versions de MySQL WorkBench ont une option permettant de modifier des délais spécifiques.

Pour moi, c'était sous Edit → Preferences → SQL Editor → DBMS connection read time out (in seconds) : 600.

J'ai changé la valeur à 6000.

J'ai également décoché l'option Limiter les lignes, car il est fastidieux d'introduire une limite chaque fois que je veux effectuer une recherche dans l'ensemble des données.

2 votes

Est-il possible d'augmenter cette limite au-delà de 99 999 secondes ? Le site DBMS connection read time out n'accepte que 5 chiffres au maximum, et la valeur 0 du champ équivaut au paramètre par défaut (600 secondes). (Windows 7 64-bit Ultimate, MySQL Workbench 5.2.47 CE)

2 votes

Suivant stackoverflow.com/q/16877574/395857 ce problème est maintenant résolu ( bugs.mysql.com/bug.php?id=69395 )

5 votes

Décocher la case limit rows in dans Edit Preferences Requêtes SQL

59voto

Harti Points 640

Pour moi, ce problème a été résolu en appliquant un my.ini changement comme proposé dans cette réponse :

[mysqld]
max_allowed_packet=16M

Alors que le fil de discussion référencé concerne l'erreur MySQL 2006 en fixant le max_allowed_packet de 1M à 16M a fait corriger l'erreur de 2013 qui s'est présentée pour moi lors de l'exécution d'une longue requête.

Pour les utilisateurs de WAMP : vous trouverez l'indicateur dans le fichier [wampmysqld] section.

0 votes

C'était exactement mon problème. J'importais une sauvegarde de base de données à partir d'un fichier et MySQL Workbench signalait cette erreur 2013 suivie de "Operation failed with exitcode 1". Il s'est avéré que la sauvegarde contenait de grandes colonnes de blob dépassant la taille max_allowed_packet de 4M par défaut de MySQL. L'augmentation de cette taille a permis de résoudre le problème. (MySQL 5.6 et Workbench 6.2.3). Merci !

0 votes

C'est aussi la solution que j'ai trouvée. Bien que je l'ai réglé sur 256M pour une machine Windows.

0 votes

J'avais 16M, j'ai eu cette erreur avec un fichier d'importation plusieurs fois, j'ai changé pour 32M et ça a marché.

42voto

Yahia Points 49011

Démarrer le serveur de BD avec l'option en ligne de commande net_read_timeout / wait_timeout et une valeur appropriée (en secondes) - par exemple : --net_read_timeout=100 .

Pour référence, voir ici et ici .

6 votes

Comment fournir ce paramètre en ligne de commande ? Lorsque j'essaie de me connecter à la base de données : mysql -u Root -p --net_read_timeout=60 ou lorsque j'essaie de démarrer le service ? sudo service mysql start ? Dans les deux cas, l'erreur est la suivante : variable inconnue 'net_read_timeout'.

0 votes

@VikasGoel C'est un paramètre côté serveur. C'est-à-dire mysqld .

10voto

Maksym Polshcha Points 4712

Vous devez définir les propriétés 'interactive_timeout' et 'wait_timeout' dans le fichier de configuration mysql avec les valeurs dont vous avez besoin.

0 votes

Ceci m'aide. Le paramètre 'interactive_timeout' de mon fichier .cnf était fixé à 100, ce qui est trop court. Après l'avoir modifié en 3600 s (ou toute autre valeur suffisamment grande pour vous), le problème a été résolu.

7voto

Shoaib Khan Points 6

Il suffit d'effectuer une mise à niveau de MySQL qui reconstruira le moteur innoDB ainsi que de nombreuses tables nécessaires au bon fonctionnement de MySQL telles que performance_schema , information_schema etc.

Exécutez la commande suivante à partir de votre shell :

sudo mysql_upgrade -u root -p

0 votes

L'erreur ne s'est pas présentée avant la version 6.1.4 de MySQL Workbench (et seulement après un certain temps) et elle se produit également sur la version 6.1.6 (mais seulement après quelques utilisations). Je ne vois donc pas comment la reconstruction de plusieurs serveurs peut résoudre un problème qui ne s'est présenté que récemment sur une interface graphique.

0 votes

Cela a résolu mon problème. Je venais d'utiliser Ansible pour configurer la base de données sur une base existante, et tout s'est détraqué. L'exécution de cette commande a tout rétabli en état de marche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X