Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Restaurer une BDD MySQL à partir des fichiers .frm

  • Le problème à résoudre :
    • Vous aviez une base de données MySQL dont les fichiers étaient sur ​​un serveur local
    • vous n’avez pas fait de sauvegarde du fichier SQL
    • et vous avez subi une catastrophe (crash de disque dur…)
    • Vous disposez cependant des fichiers mais une partie est corrompue : PHPmyAdmin ne peut plus extraire la base SQL de votre.

Pré-requis

  • Sauvegardez tout le dossier /var/lib/mysql de vos fichiers mysql sur un DD externe ou une clé USB (par exemple media/pi/root/var/lib/mysql) :

    pi@framboise:~ $ sudo cp -r /var/lib/mysql/ /media/pi/root/var/lib/

  • Arrêtez les services de Mysql :

    pi@framboise:~ $ sudo systemctl stop mysqld.service

Première étape

  1. Nous allons repartir d’une installation Mysql neuve et propre sur votre ordinateur :Mariadb : une base de données (fork de MySQL)
  2. Dans le dossier data de votre ancien serveur (media/pi/root/var/lib/mysql), des dossiers contiennent les bases de données avec des fichiers d'extension .frm dont nous aurons besoin. Vous devriez reconnaître des noms de fichiers ou de base de données qui vous sont familiers.
  3. Allez dans le dossier de votre nouveau serveur :

    pi@framboise:~ $ cd /var/lib/mysql/
    pi@framboise:/var/lib/mysql $ 

Autres étapes

  1. Copiez le dossier contenant les données de votre ancien serveur et tout son contenu dans le dossier data de votre nouvelle installation de Mysql :

    pi@framboise:/var/lib/mysql $ sudo cp -r /media/pi/root/var/lib/mysql/<votre_base> .

  2. Renommez le fichier ibdata1 en ibdata1.bak :

    pi@framboise:/var/lib/mysql $ sudo mv ibdata1 ibdata1.bak

  3. copiez le fichier ibdata1 de votre ancien serveur vers le nouveau :

    pi@framboise:/var/lib/mysql $ sudo cp /media/pi/root/var/lib/mysql/ibdata1 .

  4. Changez le propriétaire des fichiers :

    pi@framboise:/var/lib/mysql $ sudo chown -R mysql:mysql /var/lib/mysql/

  5. Redémarrez le serveur Mysql :

    pi@framboise:~ $ sudo systemctl restart mysqld

  6. Allez dans votre gestionnaire adminer : vos bases ont été restaurées avec succès !

Conclusion

Problèmes connus

Voir aussi


Basé sur « Restaurer une BDD MySQL à partir des fichiers .frm » par Tibow Webdesign.