[Linux-bruxelles] Sauvegarde et restauration MySQL DB via PHP

Philippe Beaujean philippe.beaujean at bxlug.be
Jeu 1 Sep 16:54:16 CEST 2005


Merci, cela fonctionne admirablement.

Amicalement,
Philippe.

Le jeudi 01 septembre 2005 à 12:26 +0200, Thibault Richard a écrit :
> Pourquoi n'utilises tu pas simplement les fonctions "system" ou "exec" de
> php pour utiliser mysqldump dans php ?
> 
> http://php.belnet.be/manual/fr/function.system.php et
> http://php.belnet.be/manual/fr/function.exec.php
> (généralité sur l'éxécution externe
> http://php.belnet.be/manual/fr/ref.exec.php)
> 
> Il faut juste que tu spécifie bien ton user/password MySQL dans ta commande
> mysqldump (sinon la commande est éxécutée sous l'utilisateur du serveur web
> sans mot de passe ... autrement dit "access denied")
> 
> De mémoire et sans garantie de syntaxe tu devrais faire un truc du genre :
> 
> exec("mysqldump -u user -p password -D database > fichierdump");
>  (arrange toi pour que fichierdump ait un timestamp dans son nom, c'est plus
> facile pour remttre un backup d'une date précise)
> 
> Pour la restauration, prévois une page web qui affiche un textbox avec la
> liste des fichier dump (que tu auras pris soin de mettre dans un directory
> dédié pour pouvoir utiliser
> http://php.belnet.be/manual/fr/function.scandir.php) et, en fonction de la
> sélection, exécute une commande du genre :
> 
> exec("mysqldump -u user -p password -D database < fichierdumpchoisi");
> 
> Si tu manques d'inspiration, tu peux regarder le code source de phpMyAdmin
> ... il y a une fonctionnalité qui fait ça.
> 
>  D'ailleurs si la fonctionnalité de backup/restore doit être effectuée par
> un nombre restreint de personnes (toi uniquement) tu peux simplement
> installé phpMyAdmin ... la seule différence avec mon explication c'est que
> le fichier dump est stocké sur la machine du client qui a exécuté le backup.
> 
> 
> ----- Original Message ----- 
> From: "Philippe Beaujean" <philippe.beaujean at bxlug.be>
> To: "Mailing-list du BxLUG" <linux-bruxelles at lists.bxlug.be>
> Sent: Thursday, September 01, 2005 11:50 AM
> Subject: [Linux-bruxelles] Sauvegarde et restauration MySQL DB via PHP
> 
> 
> Bonjour,
> 
> je termine un gros projet que j'avais en chantier. Il ne me manque
> maintenant que la possibilité de sauvegarder et restaurer une ou
> plusieurs databases MySQL. Il est impératif que cela puisse se faire via
> un script PHP.
> 
> En cherchant, je ne trouve toujours que des solutions en ligne de
> commande, via mysql-dump, mais je ne trouve rien que je puisse utiliser
> pour créer un script PHP (c'est-à-dire une méthode simillaire à celle
> qu'on utiliserait en ligne de commande à l'intérieur de MySQL).
> 
> Donc :
> $mysql_link=@mysql_connect("localhost",$dbusername,$dbpassword) ;
> @mysql_select_db($db,$mysql_link) ;
> 
> $query=????????
> 
> @mysql_query($query,$mysql_link) ;
> @mysql_close($mysql_link) ;
> 
> Merci.
> 
> Amicalement,
> Philippe.
> 
> 
> 
> 
> 
> 





Plus d'informations sur la liste de diffusion Linux-bruxelles