Maison >base de données >tutoriel mysql >Erreur d'importation MySQL : l'espace de table existe mais pas la table ?
Erreur : L'espace table pour la table existe. Veuillez JETER l'espace de table avant IMPORT
Question :
Un utilisateur MySQL rencontre une erreur lors de sa tentative de création d'une table qui existait auparavant. Le message d'erreur indique que l'espace table de la table existe déjà et qu'ils doivent le supprimer avant l'importation. Cependant, lorsque vous tentez de supprimer la table ou de supprimer l'espace table, des messages d'erreur indiquent que la table n'existe pas. Quelle pourrait être la cause de ce problème ?
Réponse :
Cette erreur se produit généralement lors de l'exécution en mode 'innodb_file_per_table' et de la rencontre d'une erreur 'tablespace full'. L'espace de table du serveur de base de données est défini par le paramètre innodb_data_file_path, qui peut être limité par défaut.
Dans de tels cas, il est probable qu'un fichier .ibd orphelin existe sans son fichier compagnon .frm dans le répertoire du système d'exploitation où les fichiers- par table sont stockés (généralement /var/lib/mysql ou /usr/local/var/mysql).
Solution :
Pour résoudre le problème :
Exemple :
$ ls /var/lib/mysql table1.frm table1.idb table2.frm table2.idb table3.idb <-- problem table, no table3.frm table4.frm table4.idb $ mkdir /tmp/mysql_orphans $ mv /var/lib/mysql/table3.ibd /tmp/mysql_orphans/
Remarque : Assurez-vous que toute cause sous-jacente, telle que comme des requêtes de longue durée ou des tables verrouillées, a été résolu pour empêcher la création d'autres fichiers .ibd orphelins.
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!