MySQL, les tables InnoDB sont manquant et n'est pas compté dans la structure de base de données
J'ai un sérieux problème dans mes tables MySQL , une fois il y avait des tables InnoDB qui ont été EN USAGE et sont maintenant en quelque sorte caché
regardez cette [pic] *Lien supprimé - le nombre de tables dans la rubrique est de 79 et réelle compté le nombre est de 74.
ces tableaux sont ceux qui étaient EN USAGE
Je n'ai pas de sauvegarde récente de ma base de données , donc, ce serait le jeu de la vie et de la mort pour moi
J'ai vérifié mon VPS, je les ai trouvés dans /etc/lib/mysql db_name/.
EDIT :
J'ai Cherché sur internet et j'ai trouvé que chaque table doit avoir 3 fichiers qui s'y rapportent.
Par exemple, la table table_users
a:
-- table_users.frm
-- table_users.MYD
-- table_users.MYI
et pour ceux qui sont cachés de la table , il y a seulement .les fichiers frm et les deux autres fichiers d'un tableau sont manquants.
Je devrais changer ma question: Comment faire pour récupérer une table innodb d'un .fichier frm?
oui je l'ai fait et il a énuméré toutes les tables, y compris ceux qui sont manquants
ce qui se passe lorsque vous essayez d'interroger le manque de tables.,.
oui, ils y sont répertoriés et lorsque j'exécute cette requête sql : select * from table_users il retourne table_users n'existe pas . Je suis vraiment fatigué de cette
Un .frm fichier contient uniquement le champ defitions pour une table. Il n'aura pas de la table de données. En tant que tel, vous ne pouvez pas récupérer autre chose que la structure de la table si tout ce que vous avez est une .fichier frm.
OriginalL'auteur Mac Taylor | 2011-06-03
Vous devez vous connecter pour publier un commentaire.
InnoDB n'a pas ces trois fichiers
InnoDB données sont stockées dans "ibdata1" pour toutes les bases de données et des tables.
la définition de la table est stockée dans "nom de la table.frm"
Je dirais que votre InnoDB fichier est corrompu, vous voudrez peut-être avoir un coup d'oeil à ces outils:
https://launchpad.net/percona-innodb-recovery-tool
Oui, c'est parce que votre ibdata1 fichier est corrompu et MySQL plante en essayant de le lire. Je regarde employant Percona services de récupérer la table (percona.com/mysql-consulting/data-recovery)
OriginalL'auteur Geoffrey
Mis à JOUR
Tout d'abord, sur les fichiers:
De récupérer les tableaux, vous pouvez essayer (effectuer une sauvegarde au préalable):
1) exécuter
check table tablename
- pour toutes les tables db;2) exécuter
repair table tablename
- pour les tables nécessaires.MIS À JOUR UNE FOIS DE PLUS
Une autre idée... Essayez ceci:
J'attends tables correctes (sans les données, bien sûr). Et désolé, pour l'instant je n'ai pas de PC pour vérifier, avant de suggérer...
bon et je le savais , mais c'est ce que je reçois comme un résultat de l'exécution de vérifier et de réparer des commandes : can't find file: './base de données/table_users.frm' (errno: 13
Et est le chemin d'accès à
table_users
correct (<curr_location>/base de données/table_users.frm)? Peut-être, des problèmes d'autorisation?quand je change le propriétaire et le groupe de table_users.frm mysql et de l'actualisation de phpmyadmin son parti et si j'entre un Chèque de Table ... cela dit Il n'y a pas une telle table, et puis quand je chown et chgrp de tous les fichiers dans la racine (nom d'utilisateur) et son là et EN cours d'UTILISATION
le gars manque tables innodb et ils n'ont pas .myd/.myi fichiers., ils ne peuvent pas être réparés comme ce,.
OriginalL'auteur kpower
en fait moi aussi, c'était d'avoir le même problème avec le manque deux fichiers. plus tard, j'ai constaté que lorsque la table est de type innodb, puis le dossier de base de données n'avons qu'un seul fichier associé.
mais vous pouvez modifier le type de table myisam pour obtenir tous les trois fichier de la table.
maintenant que par la sauvegarde, vous pouvez exporter la base de données quand et où vous voulez 🙂
PHP est EXCELLENT 🙂
OriginalL'auteur Sid GM
![innodb image][1] INNODB SYSTÈME TABLESPACE
INNODB est le système de tablespace est divde en deux parties
1>.frm
il peut décrire le format de tableau ou vous pouvez dire que c'est un table *définition*
2>.mici
il est de contenir tous liés au système de fichier et il est également contenir des données et d'index et ( InnoDB principal espace de table contiennent – ibdata1 – et redo logs – ib_logfile*.)
ibdata1 contient votre base de données InnoDB et ib_logfile0 et ib_logfile1 sont les fichiers journaux pour InnoDB.
Si vous supprimez votre fichier ibdata1, alors toutes vos tables InnoDB va être perdu.
Par défaut, InnDB un "espace" qui est un ou plusieurs fichiers à partir d'une seule logique de la zone de stockage. Toutes les tables InnoDB sont stockés ensemble dans le tabespace (à partir de toutes les bases de données). Par défaut, InnoDB crée deux 5MO des fichiers journaux dans le répertoire de données: iblogfile0 et iblogfile1. Les informations sont consignées dans la circulaire de la mode, avec les anciennes informations à l'avant du journal de remplacement lorsque le journal est plein.. par conséquent, une plus grande log InnoDB permet de fonctionner plus longtemps sans avoir à forcer les variations enregistrées dans les journaux pour être appliquée à l'espace de stockage sur disque.
OriginalL'auteur vikas093