2010-11-10 47 views
1

Problème: Mon hôte db-host a soudainement changé ma base de données mysql d'un serveur à un autre. Malheureusement j'ai 1 table qui fonctionnait ISAM, toutes les autres tables sont MyISAM. Après le passage d'un serveur à un autre, la table ISAM est morte!Importation de fichiers de table ISAM (ISD, ISM) d'un mysql à l'autre

PHP envoie "Connexion perdue au serveur MySQL lors de la requête" lors de la tentative de sélection à partir de la table morte.

Dans PHPMyAdmin une table en bonne santé a des valeurs pour les colonnes en conséquence (Records, type, Collation) 885 MyISAM latin1_swedish_ci

Le tableau est mort a juste: "utilisé" writtin partout dans les trois colonnes.

Si je tente d'exécuter afficher la structure de la table:

SHOW FULL DOMAINES DE table_name;

Je reçois un: 1017 - Impossible de trouver le fichier: 'nom_table' (errno: 2)

Merci!

Répondre

0

J'ai entendu quelqu'un dire que les fichiers ISAM dépend du système d'exploitation et de la version mysql où les fichiers MyISAM n'ont pas ce genre de dépendances? En fait, je ne sais pas si le fichier est corrompu ou si c'est le passage à un nouveau système d'exploitation qui a tué la table. J'ai essayé avec mysql 3.23, 4.01 et 5.1. Au-dessus de 3.23 isamchk cherche un fichier .MYD, donc je pense que le moteur ISAM est sorti après cette version. En utilisant isamchk à partir de 3.23 avec -e (extend-check) ou o- (safe-recover), l'application console vient de mourir après la commande "check delete-chain".

Serait-ce une idée d'essayer de lancer l'isamchk sur un mac ou un linux ou un freebsd (d'où vient le db)? Ou sont les implémentations tout de même?

Merci