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 debianun serveur mysqlun 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

Conclusion

Problèmes connus

Voir aussi

(fr) http://Article

Basé sur << Article >> par Auteur.