Aller au contenu

[RESOLU] Restauration MySQL depuis un .sql

Featured Replies

Posté(e)

J'ai un p'tit soucis.

J'ai des bases de données à restaurer après un crash de PC. Donc MySQL est réinstallé à neuf sans aucune données ni bdd (sauf celles par défaut "mysql" et "test")

J'ai trouvé sur le site de MySQL comment faire:

5.7.2.2. Utiliser les sauvegardes pour la restauration

Supposons maintenant qu'un crash catastrophique survienne le mercredi à 8 heures du matin, et qu'il faille utiliser les sauvegardes pour restaurer la base de données. Pour cela, il faut commencer par utiliser la première sauvegarde complète que nous avons : c'est celle de samedi, à 1 heure. Cette sauvegarde est un ensemble de commandes SQL : la restauration est très simple :

shell> mysql < backup_sunday_1_PM.sql

Bon quand j'essai cela, ça me donne:

mysql < mysql.sql
ERROR 1046 at line 11: No Database Selected

mysql < forum.sql
ERROR 1046 at line 11: No Database Selected

mysql < comptab.sql
ERROR 1046 at line 11: No Database Selected

La je comprends pas... je dois spécifier que le fichier mysql.sql, forum et comptab est associé à quel BD ?

Comment faire si c'est BD n'existe pas encore puisqu'il faut que je les récupèrent ?

Modifié par ggbce

Posté(e)

Tu crées la bdd :

mysqladmin create forum

mysqladmin create comptab

Et ensuite tu spécifie le nom de la bdd sur la ligne de commande :

mysql forum < forum.sql

mysql comptab < comptab.sql

Posté(e)
  • Auteur

Ok, c'est bon ça marche !!!

Mais pour la BD MySQL celle de base qui comprend les users et les droits ça bloque...

J'ai comme réponse:

mysql mysql <mysql.sql
ERROR 1050 at line 11: Table 'columns_priv' already exists

Posté(e)

et oui, la base mysql existe déjà, puisque c'est là qu'il y a les droits des utilisateurs. Si j'étais toi j'éditerais le fichier mysql.sql et je supprimerait la partie qui recréé la structure de la table, je garderais que les INSERT. Ensuite il y aura du ménage à faire, parce que tu risques d'avoir des données en double (notamment pour le compte root).

Posté(e)
  • Auteur

J'ai trouvé cette procédure qui fonctionne très bien !!!

Éditer le fichier mysql.sql avec vim et ajouter les 3 lignes suivantes au début:

DROP DATABASE mysql;

CREATE DATABASE mysql;

USE mysql;

ensuite lancer mysql mysql < mysql.sql

Puis redémarrer !

Modifié par ggbce

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.