Backup et Restauration d'une BDD via PHP

Fermé
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 - Modifié par Gregg78 le 5/04/2011 à 15:22
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 - 5 avril 2011 à 16:50
Bonjour à toutes et tous,

voilà, comme le titre l'indique, je suis en train de travailler sur des scripts pour faire un backup puis une restauration d'une Base de Données.

J'utilise les scripts situés à cette adresse :
http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/using-php-to-backup-mysql-databases.aspx

Or il ne se passe rien sur mon serveur.

Voilà mon script, quelqu'un voit-il où ça cloche ?

<?php 
$dbhost = 'xxx'; 
$dbuser = 'xxx'; 
$dbpass = 'xxx'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 
$dbname = 'xxx'; 
mysql_select_db($dbname); 

$tableName  = 'test'; 
$backupFile = 'test.sql'; 
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName"; 
$result = mysql_query($query); 
?>  


Merci d'avance pour votre aide et votre temps.

Gregg
A voir également:

4 réponses

Salut,

Mysqldump ne te suffit pas ?
0
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 4
5 avril 2011 à 15:49
En fait la fonction Mysqldump présente sur le lien (et ci-dessous) me retourne un fichier gz vide. Au moins il y a création d'un fichier je suis d'accord mais il est vide. Est-ce que cela vient de mon serveur ou de ma base ? Je suis chez 1and1.

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);


de plus, j'aurai bien aimé utilisé les premiers codes car ils proposent de re-uploader le fichier pour restaurer la base...
0
affiche toi la commande, et essaie de la lancer a la main pour voir si elle est bien exécutée (sans le gzip en premier)
0
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 4
5 avril 2011 à 16:16
Oui elle semble bien executée...

J'ai même essayé de créer le fichier test.sql sur le serveur avec les permissions chmod 777 mais rien ne s'y inscrit !
0
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 4
5 avril 2011 à 16:21
Je viens d'essayer sur OVH et même problème donc je ne pense pas que cela vienne du serveur ou de la BDD ;-(
0
donne moi ta commande
0
Gregg78 Messages postés 54 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 16 mars 2022 4
5 avril 2011 à 16:50
Je ne comprends pas, la commande est dans mon message. Ainsi que le lien tutoriel.
Voici ce que j'essaie de faire fonctionner :


Below is an example of using SELECT INTO OUTFILE query for creating table backup :

<?php
include 'config.php';
include 'opendb.php';

$tableName  = 'mypet';
$backupFile = 'backup/mypet.sql';
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);

include 'closedb.php';
?>

To restore the backup you just need to run LOAD DATA INFILE query like this :

<?php
include 'config.php';
include 'opendb.php';

$tableName  = 'mypet';
$backupFile = 'mypet.sql';
$query      = "LOAD DATA INFILE 'backupFile' INTO TABLE $tableName";
$result = mysql_query($query);

include 'closedb.php';
?> 
0