Maison >base de données >tutoriel mysql >Répertoire de données MySQL déplacé : pourquoi SHOW TABLES affiche-t-il une table qui n'existe pas ?

Répertoire de données MySQL déplacé : pourquoi SHOW TABLES affiche-t-il une table qui n'existe pas ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 08:06:18303parcourir

MySQL Data Directory Moved: Why Does SHOW TABLES Show a Table That Doesn't Exist?

Changement de répertoire de données MySQL : la table existe mais inaccessible

En réponse au problème déroutant d'une table apparaissant dans SHOW TABLES mais renvoyant une erreur d'existence lors de l'accès, une solution a été découverte.

Après le déplacement du répertoire de données MySQL, une base de données spécifique a présenté ceci anomalie. Malgré une connexion et une liste réussies des tables dans la base de données à l'aide de SHOW TABLES, les tentatives de récupération des données ont entraîné le message d'erreur "La table 'database.TABLE_ONE' n'existe pas."

La spéculation initiale attribuait le comportement à SHOW TABLES vérifiant uniquement l'existence du fichier sans valider l'intégrité du fichier. Cependant, une cause différente a été identifiée.

Lors de la copie d'un répertoire de base de données directement à l'aide de la commande "cp -r /path/to/my/database /var/lib/mysql/new_database", ce problème se pose. Si la base de données utilise des tables InnoDB, cette erreur spécifique se produit.

La solution consiste à s'assurer que les fichiers ib* (par exemple, ibdata1, ib_logfile0, ib_logfile1) sont présents dans le répertoire racine du répertoire de données MySQL. Après avoir copié ces fichiers cruciaux, le problème d'inaccessibilité est résolu et l'accès aux tables est restauré.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn