Tables InnoDB <<< |
Solutions pour le dictionnaire de données InnoDB | Tables InnoDB >>> |
16.18 Résolution de problèmes avec InnoDB 16 Tables InnoDB Manuel de Référence MySQL 4.1 : Version Française ->Solutions pour le dictionnaire de données InnoDB |
16.18.1 Solutions pour le dictionnaire de données InnoDBUn problème spécifique avec les tables est que le serveur MySQL garde les données dans un dictionnaire de données .frm , qu'il stocke dans le dossier de base de données, alors que InnoDB stocke aussi les informations dans son propre dossier de données dans l'espace de tables. Si vous déplacez le fichier .frm , ou si vous utilisez DROP DATABASE en MySQL versions 3.23.44 et plus anciennes, ou si le serveur crashe au milieu d'une opération dans le dictionnaire de données, le fichier .frm peut être déconnecté du dictionnaire de données interne InnoDB . Un symptôme de ce déphasage est que les commandes CREATE TABLE échouent. Si cela arrive, vous devez lire le fichier de log d'erreurs. Si le fichier de log dit que la table existe déjà dans le dictionnaire interne d' InnoDB , vous avez un fichier de table orphelin dans l'espace de table InnoDB , qui n'a plus de fichier .frm correspondant. Le message d'erreur ressemble à ceci :
Un autre symptôme de déphasage st que MySQL affiche MySQL une erreur qui dit qu'il ne peut pas ouvrir le fichier .InnoDB :
Lorsque vous avez une table orpheline #sql_id dans un espace de table, vous pouvez faire que InnoDB le renomme en rsql_id_recover_innodb_tmp_table avec la commande :
La définition de la table doit être similaire à celle de la table temporaire. Si vous ne connaissez pas la définition de la table temporire, vous pouvez utiliser une définition arbitraire dans la commande CREATE TABLE précédente, et ensuite, remplacer le fichier rsql_id.frm par le fichier #sql_id.frm de la table temporaire. Notez que pour copier ou pour renommer un fichier dans le shell, vous devez mettre le nom du fichier entre guillemets, car le nom du fichier contient '#' . Alors, vous pouvez exporter et effacer la table renommée. |
<< | Solutions pour le dictionnaire de données InnoDB | >> |
Tables InnoDB | Résolution de problèmes avec InnoDB | Tables InnoDB |