Table des matières
Récupérer un base de donnée MySQL
En cas de malheur ! Restaurer une BDD MySQL à partir des fichiers .frm
-
Restaurer une BDD MySQL à partir des fichiers .frm :Restaurer une BDD MySQL à partir des fichiers .frm
Pré-requis
-
une machine sous debian
-
un serveur mysql
-
un accès root sur la machine debian
Première étape : sauvegarde du dossier mysql en cours
-
Créez le dossier pour la sauvegarde :
pi@framboise:~ $ sudo mkdir -p /srv/data/mysql
-
Rendez mysql propriétaire de ce dossier :
pi@framboise:~ $ sudo chown mysql:mysql /srv/data/mysql/
-
Pour connaître le dossier mysql en cours, affichez le fichier /etc/mysql/mariadb.conf.d/50-server.cnf et notez la valeur de datadir (par défaut /var/lib/mysql) :
pi@framboise:~ $ cat /etc/mysql/mariadb.conf.d/50-server.cnf (...) datadir = /var/lib/mysql (...)
-
Allez dans l'emplacement actuel :
pi@framboise:~ $ cd /var/lib/mysql/
-
Arrêtez mysql :
pi@framboise:/var/lib/mysql $ sudo systemctl stop mysqld.service pi@framboise:/var/lib/mysql $ sudo systemctl stop mysql.service
-
Copiez les bases dans le dossier de sauvegarde :
pi@framboise:/var/lib/mysql $ sudo cp -r * /srv/data/mysql/
Autres étapes
Supposons que votre ancien emplacement ait été retrouvé en /media/root/var/lib/mysql.
-
Videz l'emplacement actuel :
pi@framboise:/var/lib/mysql $ sudo rm -r *
-
Positionnez vous dans le datadir à récupérer :
pi@framboise:~ $ cd /media/root/var/lib/mysql pi@framboise:/media/root/var/lib/mysql $
-
Copiez les bases dans l'emplacement voulu :
pi@framboise:/media/root/var/lib/mysql $ sudo cp -r * /var/lib/mysql/
-
Recopiez