Vous pouvez utiliser les tables pour effectuer diverses opérations dans la base de données MySQL. Par exemple, pour charger des données dans des tables ou créer des relations en définissant des clés primaires et étrangères. Si le serveur MySQL ne peut pas accéder à la table, aux espaces de table et à leurs métadonnées lors de l'exécution d'une action sur une table, diverses erreurs peuvent se produire. Par exemple, l'erreur MySQL n° 1932 : la table n'existe pas dans le moteur. Dans ce guide détaillé, nous examinerons cette erreur, comment elle se produit dans différents scénarios et comment la corriger.
À propos de l'erreur MySQL n° 1932 : La table n'existe pas dans le moteur
L'erreur MySQL 1932 : La table n'existe pas dans le moteur peut se produire lorsque vous travaillez avec le serveur XAMPP ou MySQL Workbench dans PhpMyAdmin. Plusieurs utilisateurs de MySQL ont publié des questions sur cette erreur sur Stack Overflow. En voici quelques-unes :


Les questions des utilisateurs ci-dessus indiquent que cette erreur peut se produire à la fois dans les applications web et dans les applications de bureau autonomes. Cette erreur se produit généralement dans les scénarios suivants :
- Lors de la création d'une copie de sauvegarde à l'aide de l'utilitaire « mysqldump » ou de l'assistant d'exportation et d'importation de données SQL.
- Après avoir copié d'anciens fichiers sur un serveur XAMPP nouvellement installé.
- Lors de la modification de la base de données à l'aide de la commande ALTER TABLE dans PhpMyAdmin.
- Lors de la tentative de récupération de données à partir de tables dans la base de données MySQL.
Quelles sont les causes de l'erreur 1932 dans le serveur MySQL ?
Le moteur de stockage peut ne pas être en mesure d'accéder aux tables d'une base de données ou de les lire pour l'une des raisons suivantes :
- Les tables de la base de données sont corrompues.
- Les fichiers de table (.frm) sont manquants ou l'emplacement des fichiers de base de données InnoDB (.ibd) a changé.
- L'espace de table InnoDB a peut-être été supprimé et recréé, mais les fichiers .frm correspondants des tables InnoDB du répertoire de la base de données n'ont pas été supprimés, ou les fichiers .frm ont été déplacés vers une autre base de données.
- Autorisations et droits de propriété incorrects pour les fichiers de table dans le répertoire de données MySQL/MariaDB.
Méthodes pour corriger l'erreur MySQL n° 1932 : La table n'existe pas dans le moteur
Cette erreur se produit parfois lorsque la table à laquelle vous essayez d'accéder ou que vous essayez d'ouvrir n'existe pas dans le répertoire de données. Dans ce cas, vous pouvez vérifier si elle existe dans le répertoire de données PhpMyAdmin (voir l'image ci-dessous).

Si la table en question est présente dans le répertoire de données, vous pouvez utiliser les méthodes de dépannage suivantes.
Méthode 1 : copiez les fichiers journaux avec la base de données MySQL
L'erreur MySQL n° 1932 peut se produire après avoir copié la sauvegarde de l'ancienne base de données MySQL vers le nouveau serveur XAMPP. Si vous rencontrez cette situation, , une solution consiste à copier les fichiers suivants (commençant par ib) avec la base de données :
Remarque : ces fichiers peuvent déjà exister dans le nouveau dossier de données. Par conséquent, veuillez d'abord supprimer les fichiers existants
- Ib_temp1
- Ib_data1
- Ib_logfile1
- Ib_buffer_pool
- Ib_logfile
Copier le code
Veuillez redémarrer le serveur XAMPP.
Méthode 2 : Vérifiez et modifiez le fichier de configuration PhpMyAdmin
Parfois, lorsque cette erreur se produit, le nom de la table PMA s'affiche. Exemple : 1932 – La table « phpmyadmin.pma__tracking » n'existe pas dans le moteur. Cela se produit lorsque le serveur XAMPP (PhpMyAdmin) ne peut pas accéder aux tables PMA où sont stockés les paramètres de configuration. Des paramètres de configuration incorrects et des tables PMA manquantes ou endommagées peuvent en être la cause. Cela peut également se produire si l'utilisateur configuré pour MySQL est protégé par un mot de passe ou ne dispose pas des autorisations nécessaires. Pour résoudre le problème, veuillez suivre les étapes suivantes :
- Ouvrez le fichier de configuration PhpMyAdmin. Pour trouver ce fichier, ouvrez le panneau de configuration XAMPP. Sélectionnez l'option « Config » pour Apache ou MySQL. Sélectionnez « phpMyAdmin (config.inc.php) ».

- Une liste des paramètres de configuration s'affiche.

- Recherchez dans la liste les tables liées à pma. Si elles sont manquantes, recréez-les en copiant et en remplaçant le contenu suivant de config.inc.php :

Faites également défiler la page vers le bas et vérifiez le type d'authentification et la section d'informations. Assurez-vous que l'utilisateur dispose de toutes les autorisations nécessaires pour accéder à la base de données MySQL. Si ce n'est pas le cas, accordez-lui les autorisations requises.

Méthode 3 : vérification et réparation des tables MySQL
La corruption des tables de la base de données MySQL est également l'une des principales causes de l'erreur MySQL #1932 : Table does not exist in the engine. Pour vérifier cela, vous pouvez exécuter la commande CHECKTABLE dans PhpMyAdmin. Voici les étapes à suivre :
- Dans le tableau de bord phpMyAdmin, cliquez sur l'onglet « Bases de données » dans le menu principal. Une liste des bases de données MySQL s'affichera alors.
- Cliquez sur la base de données à partir de laquelle vous ne pouvez pas ouvrir la table.
- Une liste de tables apparaîtra. Cliquez sur la table « Doctor » et sélectionnez « CHECK TABLE ».
Exécutez la commande « CHECK TABLE » dans Workbench comme indiqué ci-dessous :

L'image ci-dessus montre que la table nommée « appointments » est endommagée ou que son espace de table est manquant. Vous pouvez réparer la base de données MySQL avec PhpMyAdmin. Cependant, il existe certaines limitations, telles que :
- Il existe des restrictions concernant la taille des fichiers.
- Une seule base de données peut être réparée à la fois.
- Les fonctions sont limitées, par exemple, il n'y a pas d'options pour la visualisation du schéma et la compilation automatique.
- Il n'offre pas d'aperçu des données réparables.
- Des délais d'attente peuvent survenir lors du téléchargement de fichiers de base de données volumineux.
- Les tables InnoDB peuvent ne pas être réparables.
Pour réparer les tables InnoDB dans MySQL, vous pouvez utiliser Stellar® Repair for MySQL. Il s'agit d'un outil convivial qui permet de réparer les bases de données MySQL corrompues créées avec les moteurs de stockage InnoDB et MyISAM. Cet outil peut même réparer des fichiers de base de données volumineux sans aucun problème ni perte de données. Il vous permet également de réparer plusieurs bases de données simultanément. Il peut vous aider à récupérer des fichiers journaux, des fichiers .frm et des fichiers .ibd gravement endommagés. Il peut vous aider à corriger l'erreur MySQL #1932 : Table does not exist in the engine (La table n'existe pas dans le moteur) lorsqu'elle se produit en raison d'une corruption des tables MySQL.
Pour découvrir le fonctionnement de Stellar® Repair for MySQL, veuillez visionner cette vidéo :
Conclusion
Dans ce guide, nous avons expliqué ce qu'est l'erreur MySQL n° 1932 : « Table does not exist in the engine » (La table n'existe pas dans le moteur) et comment la corriger. Elle peut se produire en raison de paramètres de configuration du serveur corrompus, de problèmes d'autorisation, etc. Si la table de la base de données MySQL est corrompue, veuillez utiliser STELLAR Repair for MySQL, un outil de réparation MYSQL spécialisé qui peut réparer les tables corrompues créées dans les deux moteurs de stockage : InnoDB et MyISAM.




6 min read




