Supprimer un Écrasé de table Innodb
Je ne peut pas supprimer/déplacer d'un crash de table Innodb. J'obtiens l'erreur suivante:
ERREUR 1051 (42S02): Inconnu table ‘comptes’
Et si je veux créer, je reçois le message d'erreur suivant:
ERREUR 1005 (HY000): ne Peut pas créer la table ‘comptes’ (errno: -1)
Ce qui se passe sur mon serveur après un accident de panne de courant.
Ce qui concerne
OriginalL'auteur Sacx | 2010-07-10
Vous devez vous connecter pour publier un commentaire.
Le fait d'éteindre les contraintes de clé étrangère avant la suppression de la table de l'aide?
Il y a un rapport de bug qui détaille quelque chose de similaire, mais je ne suis pas clair si c'est la même question:
http://bugs.mysql.com/bug.php?id=5784
Si non, vous pouvez essayer de mysqlcheck:
Vous aurez à vérifier les docs pour les options les plus appropriées pour votre base de données. Assurez-vous de noter les commentaires dans le premier paragraphe de la doc sur les verrous qui sont placés sur les tables alors que cette commande est en cours d'exécution.
Réglage foreign_key_checks=0 fonctionne, merci!
OriginalL'auteur Mike
J'ai aussi constaté ce problème ici http://www.randombugs.com/linux/crash-innodb-table.html et il semble juste de supprimer ibdata fichier et redémarrer mysql peut résoudre ce problème. De toute façon ce n'est pas vraiment une solution si vous n'avez pas de sauvegarde.
OriginalL'auteur Sacx
Ma conjecture est que InnoDB n'est même pas chargé (cochez la case AFFICHER les MOTEURS), de sorte que vous n'allez pas être en mesure de DÉPOSER jusqu'à ce que vous résoudre ce problème en premier.
Habituellement, vous pouvez commencer à InnoDB en mode de récupération 3, arrêtez ce que vous avez besoin, et ensuite d'arrêt et retirer le mode de récupération de réglage:
http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
OriginalL'auteur Morgan Tocker
Simple solution qui a fonctionné pour moi.
Essayez de supprimer la table.
drop table tableOne;
Vous verrez erreur:
Copie de l'instruction de création de la table à partir d'une autre Base de données ou à l'écrire.
CREATE TABLE
tableOne
(ID
int(11) not NULL,LOCKED
tinyint(1) not NULL) ENGINE=InnoDB;Succès
De supprimer la table
Succès
OriginalL'auteur biniam