sauvegarde / restauration base de données

edenyorke
Invité n'ayant pas de compte PHPfrance

10 mai 2006, 07:09

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

Mammouth du PHP | 19672 Messages

10 mai 2006, 08:37

As-tu accès à MySQL en ligne de commande ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

edenyorke
Invité n'ayant pas de compte PHPfrance

10 mai 2006, 10:02

oui mais j'aimerai plutot integrer ca dans une page php pour en faire un script automatisé

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 mai 2006, 10:13

Tu peut utiliser la commande SQL LOAD DATA INFILE
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

10 mai 2006, 14:16

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...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 mai 2006, 14:24

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

10 mai 2006, 14:54

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 mai 2006, 15:03

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer