[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