Page 1 sur 1

sauvegarde / restauration base de données

Posté : 10 mai 2006, 07:09
par edenyorke
bonjour

je souhaite sur mon site pouvoir sauvegarder / importer une base de données en cas de crash systeme , sans passer par phpmyadmin

pour la sauvegarde, j'ai un joli fichier .sql généré par mysqldump donc tout va bien

Par contre pour la restauration, je ne trouve pas de commande permettant de le faire

Je precise que ma base n'est pas tres grosse (7 tables d'une 20aines d'entrées)

en connaissez vous une ?

Edenyorke

Posté : 10 mai 2006, 08:37
par Cyrano
As-tu accès à MySQL en ligne de commande ?

Posté : 10 mai 2006, 10:02
par edenyorke
oui mais j'aimerai plutot integrer ca dans une page php pour en faire un script automatisé

Posté : 10 mai 2006, 10:13
par zeus
Tu peut utiliser la commande SQL LOAD DATA INFILE

Posté : 10 mai 2006, 14:16
par edenyorke
d'apres ce que j'ai pu voir load data inside permet d'inserer dans une base seulement une table

Moi j'aimerai que mes 7 tables soit inserées et de plus, je me demande si il ne faut pas d'abord supprimer les tables avant des les inserer...

Posté : 10 mai 2006, 14:24
par zeus
Si je me souviens bien, tu utilises mysqldump pour exporter ta base, non ?

Si c'est le cas, il est ecrit dans le manuel:
Utilitaire qui permet d'exporter une base ou un groupe de bases vers un fichier texte, pour la sauvegarde ou le transfert entre deux serveurs (pas nécessairement entre serveurs MySQL). L'export contiendra les requêtes SQL nécessaires pour créer la table et la remplir.
Donc tu n'as qu'a executer le fichier .sql pour tranferer ta bdd

Posté : 10 mai 2006, 14:54
par edenyorke
Désolé, je n'avais pas vu ca... en effet c'est bien pratique

Une toute derniere question et apres tout sera bon : executer un fichier dans un script php (genre mon fichier .sql) comment fait on ca ?

Merci en tout cas pour ton aide sur mysldump et pour aujourd'hui

Posté : 10 mai 2006, 15:03
par zeus
Tu peut utiliser la fonction systeme et passer une commande de ce genre :
systeme(".chemin/vers/mysql database < tonfichier.sql");
Plus d'info ici :
http://www.manuelphp.com/mysql/batch-commands.php