Mysqldump

Signaler
Messages postés
125
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
21 juin 2015
-
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
-
Bonjour,

Voilà j'aimerais faire un backup de ma BDD,
j'ai trouvé un script qui marche pas mal, à l'exception que cela ne me récupère que la structure des tables mais pas le contenu.

J'ai ajouté les arguments qui me semblait être bon pour récupérer le contenus mais je dois me louper quelque part.

voici mon code en vous remerciant d'avance.



  $host = "***";
  $db = "***";
  $dbuser = "***";
  $dbpw = "***";
  $date = date('d-m-Y_h-i-s'); 
  $dossier = 'DB_backup/note_frais_'.$date;

  MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Serveur MySQL non disponible</H3>");

  MYSQL_SELECT_DB($db) or die ( "<H3>Base non disponible</H3>");
  
  if(mkdir($dossier, 0777, true))
  {
   $path = getenv('DOCUMENT_ROOT')."/".$dossier;
   $result = MYSQL_QUERY("SHOW TABLES");
   $numrow = MYSQL_NUM_ROWS($result);

   for($i = 0;$i < $numrow;$i++) {
   $table = MYSQL_RESULT($result,$i);
   echo "$table ... ";
   system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path));
   echo "DONE\n\n";
   }
  }
  else
  {
   echo 'Dossier non créé';
  }

  MYSQL_CLOSE();
 }





-La constante d'une personne est la variable d'une autre.
-Il y a deux manières d'écrire des programmes sans erreurs. Seule la troisième marche
-Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l'a pas été

1 réponse

Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
2
Bonjour,

Pour ma part, je ne m'embête pas avec autant de code pour obtenir un dump de mes tables.

Sous Linux il suffit d'utiliser :
mysqldump -u username -p databasename > monfichier.sql

Je prends en général username=root ^^

++
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
2
J'aurais tendance à dire que l'argument --opt ne devrait pas être là. En effet, en comparant les arguments de ta requête à ceux de la mienne c'est le seul qui pourrait être à l'origine d'une modification de l'output.