Partage
  • Partager sur Facebook
  • Partager sur Twitter

Php MyAdmin données corrompues

table perdu

11 juin 2024 à 15:32:00

Bonjour,
En retournant sur mon site en utilisant XAMPP, j'étais dans l'incapacité de relancer MySQL. J'ai donc consulté des tutoriels afin de résoudre ce problème en copiant les fichiers dans mon backup, mais une fois ce problème résolu. Je suis confronté a un nouveau problème, les tableaux de mon site sont corrompus et me renvoient l'erreur "#1932 <Table name> doesn't exist in engine" quand je clique dessus. 
Pourtant il s'affiche toujours dans ma base de données. J'ai donc perdu le contenu de tous mes tableaux, je sais pas trop ce qui a provoqué cela, y a-t-il un moyen de récupérer mes données quelque part avec une sauvegarde automatique ou quelque chose du genre? 
Cordialement,
  • Partager sur Facebook
  • Partager sur Twitter
11 juin 2024 à 15:48:56

Bonjour, comment as tu "remis" tes données ?

L'importation classique ne peut pas causer ces problemes...

  • Partager sur Facebook
  • Partager sur Twitter
11 juin 2024 à 17:43:14

Bonjour Asmitta,

C'est-à-dire ? Comment j'ai refait fonctionner MySQL ? J'ai suivi un tutoriel qui m'a fait copié et remplacé les fichiers dans "Data" de "MySQL" par "backup". j'ai donc pu à nouveau accéder à mon serveur MySQL grâce à cela, mais les tableaux que j'utilise étaient corrompus.

Je ne sais pas d'où vient l'erreur, j'ai laissé mon site en pause pendant 2 semaines le temps d'en apprendre plus sur les API et que je l'ai relancé j'ai eux ce problème. 

Asmitta a écrit:

Bonjour, comment as tu "remis" tes données ?

L'importation classique ne peut pas causer ces problemes...



  • Partager sur Facebook
  • Partager sur Twitter
11 juin 2024 à 18:41:41

Quand il s'agit des donnees de la bdd je trouve preferable d'exporter puis importer juste les donnees, en manipulant les fichiers directement(sur le disque) y'a de fortes chances qu'on loupe un detail. 

Bon maintenant que le mal a deja été fait il faut juste une solution maintenant. Je viens de tomber sur ceci: How To Fix Corrupted Tables in MySQL | DigitalOcean. Travaillant avex xampp tu devras juste taper ces deux commandes je crois puis redemarrer le service.

CHECK TABLE table_name;

REPAIR TABLE table_name;

Essaie voir.

  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 14:59:45

Pour toutes les tables j'ai pour réponse ce message d'erreur :

La requête SQL a été exécutée avec succès.

CHECK TABLE table_name;

table_name repair Error Table 'table_name' doesn't exist in engine

table_name repair status Operation failed

     
  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 15:33:54

A la place de "table_name", il faut indiquer le nom d'une des tables qui existent dans la base.

  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 15:39:51

michelbillaud a écrit:

A la place de "table_name", il faut indiquer le nom d'une des tables qui existent dans la base.

Oui, c'est ce que j'ai fait pour toutes mes tables, mais c'est comme si elle n'existé plus dans ma BDD

  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 15:42:20

J'ai eu un probleme similaire sous lInux mais j'avais un backup(sous forme sql) donc j'ai juste "tout supprimé" ce qu'il y'avait et re-importé normalement.

Là ce n'est pas possible, et je connais pas une solution simple. Sorry.

  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 16:10:20

Asmitta a écrit:

J'ai eu un probleme similaire sous lInux mais j'avais un backup(sous forme sql) donc j'ai juste "tout supprimé" ce qu'il y'avait et re-importé normalement.

Là ce n'est pas possible, et je connais pas une solution simple. Sorry.


d'accord, merci pour vôtres aides en tout cas, bon je pense que la seul solution qu'il reste c'est malheureusement de tout supprimé et reprendre à 0 :/ ..

J'aurais bien voulu savoir ce qui à provoqué cela

  • Partager sur Facebook
  • Partager sur Twitter
12 juin 2024 à 18:42:43

Je ne vais peut-etre pas expliquer clairement mais ce qu'on voit dans phpMyAdmin ne s'arrete pas la. Sur le disque les donnees(contenu) de la table, du serveur, donnees(parametres) de la table et d'autres informations sont liées entre elles mais pas "au meme endroit". Donc en copiant des fichiers, croyant que c'est le contenu de la table tu ne prends pas tout le necessaire. En ouvrant phpMyAdmin les parametres de la table par exemple ne sont pas retrouvés; d'où le message sur la corruption des donnees.

Bon c'est plus ou moins ça ,c'est probablement un peu baclé mais bon...

  • Partager sur Facebook
  • Partager sur Twitter
13 juin 2024 à 16:05:52

OK je vois, merci !

Mais qu'est ce qui a provoqué la première erreur du serveur Mysql, une mise à jour ? J'avoue que je ne comprends pas, car je n'ai fait aucune modification entre temps.

  • Partager sur Facebook
  • Partager sur Twitter
13 juin 2024 à 16:49:10

> Mais qu'est ce qui a provoqué la première erreur du serveur Mysql,

Sans un doute un mauvais coup de Finaud et Sournois, les vilains lutins qui font rien qu'à casser l'ordinateur de Oui-Oui.

Bon, les accidents informatiques ça arrive, même si on ne trouve pas toujours la cause (demander à l'administrateur de la machine ?).

Peu importe, maintenant qu'on sait que ça arrive, il faut en tirer les conséquences.

  • avoir un plan pour tout sauvegarder régulièrement
  • le faire, pour de vrai.
  • avoir pratiqué plusieurs fois la remise en état des données, à partir des sauvegardes, en supposant qu'un accident a tout pété (c'est pas ce jour là qu'il faudra aller regarder des tutoriels).

-
Edité par michelbillaud 13 juin 2024 à 16:49:36

  • Partager sur Facebook
  • Partager sur Twitter
14 juin 2024 à 16:40:56

Ok je vois, merci.

J'ai complètement supprimé l'ancienne BDD pour repartir à 0, car il y avait beaucoup de conflits malgré le fait que j'avais supprimé les anciens tableaux corrompus, mais même en faisant cela, quand je recréer mon tableau "users" par exemple, je reçois l'erreur : "#1050 - La table 'users' existe déjà", et c'est pareils pour tous les autres tableaux .. Quelqu'un à une idée ?   

normalement en supprimant la base de données (DROP) je ne devrais plus avoir ce genre de problèmes non ?

  • Partager sur Facebook
  • Partager sur Twitter
14 juin 2024 à 23:10:56

Un logiciel comme MySql est un SGBD, système de gestion de bases de données, dont une instance gère plusieurs bases de données sur la même machine.

Le problème peut être dans les données d'une base en particulier, ou dans les données "générales" communes au serveur. Faute de savoir ce qu'il en est, on ne peut pas prédire.

-
Edité par michelbillaud 14 juin 2024 à 23:13:06

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2024 à 15:08:17

Ducoup ma dernière option c'est de changer le nom de ma table pour pouvoir tout reprendre a zéro ?

j'ai aussi un autre problème, tout les 2/3 jours max, mon MySQL plante à nouveau et je suis obliger de refaire la manipulation avec la backup à chaque fois.

-
Edité par Silverhand 17 juin 2024 à 15:29:35

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2024 à 15:44:28

> Ducoup ma dernière option c'est de changer le nom de ma table pour pouvoir tout reprendre a zéro ?

Si il s'agit de tout reprendre à 0, la seule option est de réinitialiser complètement mysql.  Par exemple en désinstallant et réinstallant.

La solution la plus simple si c'est un mysql qui tourne chez soi avec juste une base de trucs pour s'amuser. Evidemment, si c'est un mysql sur le serveur d'un fournisseur d'accès c'est une autre histoire.

> tout les 2/3 jours max, mon MySQL plante à nouveau

ça serait bien d'examiner les journaux de mysql pour essayer de trouver pourquoi.  Parce que ça se voit pas dans la boule de cristal.

-
Edité par michelbillaud 17 juin 2024 à 15:47:38

  • Partager sur Facebook
  • Partager sur Twitter