Comment corriger l'erreur« Le serveur MySQL a disparu »?


Lors de l'exécution de requêtes sur le serveur MySQL, l'erreur " MySQL a dépassé le délai d'attente " peut se produire. La raison principale de cette erreur est que le serveur a dépassé le temps imparti et a fermé la connexion. Cela se produit lorsque vous essayez d'exécuter des requêtes volumineuses contenant des instructions INSERT ou REPLACE dont l'exécution prend beaucoup de temps. Cependant, il y a beaucoup d'autres raisons qui peuvent conduire à cette erreur dans MySQL. Dans cet article, nous allons examiner les causes de l'erreur "MySQL a résolu" dans MySQL et les solutions pour y remédier.

Raisons de l'erreur 'MySQL a disparu

Cette erreur peut se produire pour une ou plusieurs des raisons suivantes :

  • Les tables MySQL sont corrompues.
  • La durée du délai d'attente dans les paramètres du délai d'attente est trop faible.
  • Les requêtes sont endommagées ou incorrectes.
  • La commande mysqladmin kill est incorrecte.
  • Tentative d'exécution d'une requête alors que le serveur n'est pas connecté.
  • La connexion TCP/IP sur le système client/serveur est limitée dans le temps.
  • La reconnexion automatique n'est pas activée sur le système client.
  • La connexion entre le système client et le système serveur est interrompue avant l'exécution de la commande.
  • Exécution de requêtes trop étendues ou désorganisées (hors séquence).
  • MySQL ne peut pas utiliser les recherches d'IP à nom d'hôte.
  • Les paramètres du pare-feu bloquent l'application MySQL.

Méthodes pour rectifier l'erreur "MySQL a disparu ".

Voici quelques méthodes de dépannage pour l'erreur MySQL a disparu.

1 - Augmenter la durée du timeout sur le serveur MySQL

Le message d'erreur MySQL a disparu peut être dû à un dépassement de délai dans la connexion serveur/client. Le délai de connexion est la période pendant laquelle un client attend une réponse du moteur de recherche du serveur. Si le serveur ne répond pas dans ce délai, la connexion est considérée comme infructueuse car il n'y a pas d'activité. Par défaut, le serveur MySQL ferme la connexion après 8 heures si le système est inactif.

Les problèmes de dépassement de délai de connexion dans MySQL surviennent généralement lorsque vous exécutez des requêtes qui nécessitent des opérations étendues. Par exemple, vous utilisez une fonction qui peut être appelée plusieurs fois pour définir différentes opérations, comme mysql_mysql_mysql_options(), mysql_get_options, etc. Pour éviter cela, vous pouvez augmenter la durée du délai d'attente sur le serveur MySQL avec la commande wait_timeout.

2 - Augmentez la limite de paquets dans le serveur MySQL

L'erreur "MySQL has gone away" peut se produire si la requête que vous envoyez au serveur est trop volumineuse et nécessite plusieurs opérations. Cependant, vous pouvez augmenter la limite de la requête en modifiant la variable max_allowed packet. Si le paquet contenant de grandes valeurs BLOB est trop volumineux, vous pouvez augmenter la limite de paquets. Pour ce faire, exécutez la commande suivante :

$> mysqld --max_allowed_packet=128MCopy Code

NOTE : La limite pour max_allowed_packet est de 1 GB.

3 - Vérifiez votre connexion réseau

L'erreur MySQL Server has gone away peut également se produire si la connexion au serveur est interrompue. Dans ce cas, vous pouvez utiliser la commande de la fonction mysql_mysql_mysql_ping() (comme spécifié ci-dessous) pour vérifier si la connexion au serveur fonctionne ou non.

int

mysql_ping(MYSQL *mysql)

Copier le code

NOTE : Avant d'exécuter la commande mysql_ping(), assurez-vous que l'option de reconnexion automatique est désactivée sur le serveur. Dans le cas contraire, un message d'erreur sera affiché.

Si la commande ci-dessus renvoie le résultat "0", cela signifie que le serveur est actif. Si une valeur non nulle est affichée, cela signifie qu'il y a des problèmes de réseau. Vous pouvez résoudre les problèmes de connectivité réseau.

4 - Activer le réseau Skip

Vous pouvez également activer la variable système "skip networking" pour résoudre les problèmes de connexion réseau dans MySQL. Cela fonctionne pour les applications dans lesquelles seuls des clients locaux sont impliqués. Par défaut, la variable système skip networking est désactivée. Pour activer le saut de réseau, veuillez suivre les étapes ci-dessous :

  • Localisez le fichier de configuration de MySQL sur votre système. Le chemin par défaut est :

C:\ProgramData\MySQL Router : C:\ProgramData\MySQL Router\Mysqlrouter.confCopy Code

  • Ouvrez le fichier de configuration et localisez le bureau [mysqld] et ajoutez l'option --skip-networking[={ON}]
  • Redémarrez ensuite le serveur MySQL.

 

Si vous activez la variable système "skip networking", la connexion TCP/IP est complètement désactivée, ce qui réduit la charge de travail de la connexion TCP/IP.

5 - Vérifier et réparer la base de données MySQL

Les requêtes peuvent également échouer en raison de tables ou d'index corrompus dans la base de données, ce qui entraîne cette erreur. Pour vérifier si les tables sont endommagées, vous pouvez utiliser l'instruction CHECK TABLE. Elle vérifie que la vue de la table et ses références, y compris les index, ne sont pas endommagées. Si un problème est détecté, l'erreur est affichée avec le nom de la table. Vous pouvez alors utiliser la commande REPAIR TABLE (comme indiqué ci-dessous) pour réparer la table de la base de données MySQL.

Remarque : pour utiliser cette commande, vous devez disposer des droits INSERT et SELECT pour la table.

REPAIR TABLE tablename [Options]

Si REPAIR TABLE ne donne pas les résultats escomptés, vous pouvez utiliser un outil professionnel de réparation de bases de données MySQL tel que Stellar Repair for MySQL. Cet outil peut réparer les tables InnoDB/MyISAM endommagées dans la base de données MySQL rapidement et avec une intégrité et une précision absolues. Il enregistre ensuite les données réparées dans les formats MySQL, MariaDB, SQL Script et d'autres formats de fichiers (CSV, HTML et XLS). L'outil corrige efficacement une variété d'erreurs liées à la corruption de la base de données MySQL. L'outil est soutenu par MySQL version 8.0.36 et antérieures, y compris les versions de MariaDB jusqu'à 11.3.2. Il est compatible avec les systèmes d'exploitation Windows et Linux.

Conclusion

L'erreur MySQL a disparu peut se produire en raison de requêtes volumineuses qui prennent beaucoup de temps à charger, de problèmes de connexion réseau, d'un délai d'attente trop court et de diverses autres raisons. Vous pouvez utiliser les méthodes mentionnées ci-dessus pour résoudre l'erreur. Si la corruption de la base de données a causé l'erreur, vous pouvez utiliser Stellar Repair for MySQL pour réparer la base de données. C'est un outil fiable qui vous permet de réparer les bases de données MySQL corrompues sur les systèmes d'exploitation Windows et Linux. Vous pouvez installer la version de démonstration de l'outil pour analyser la base de données et prévisualiser les objets récupérables.



Was this article helpful?
À propos de l'auteur
author image
Himanshu Shakya

Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

Table des matières

POURQUOI STELLAR® EST LE LEADER MONDIAL

Pourquoi choisir Stellar?
  • 0M+

    CLIENTS

  • 0+

    Des années d'excellence

  • 0+

    INGÉNIEURS R&D

  • 0+

    PAYS

  • 0+

    TÉMOIGNAGES

  • 0+

    RÉCOMPENSES REÇUES