Mysqldump

theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 - Modifié par theflayer le 9/04/2014 à 15:31
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 20 avril 2014 à 04:06
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

ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
20 avril 2014 à 03:53
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 ^^

++
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
Modifié par ndubien le 20/04/2014 à 04:07
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.
0
Rejoignez-nous