Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2011, 23h08   #1
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
Par défaut sauvegarde complete dumper

bonsoir j'aimerai exécuter cette commande :

Code :
1
2
 
mysqldump --user=****** --password=******  db_1 db_2 db_n> /Chemin/Vers/fichier_dump.SQL
mais ceci s'utilise comme une basique requête ?
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 07h36   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Non, ca utilise l'executable en ligne de commande mysqldump.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 09h04   #3
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
exec() de devrait faire ton affaire.
riete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 12h48   #4
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
le faite que j'utilise PDO ça change quelque chose ?
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 13h11   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Non, PDO ne concerne que ce que tu fais en PHP.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 23h45   #6
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
ah ok même si la commande est pour la base de données ce n'est pas une requête mais une commande.
merci je vais tester
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2011, 22h33   #7
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
j'ai testé !

Code :
exec('mysqldump --user="'.$user.'" --password="'.$password.'" '.$db.' > dump.sql');
aucune erreur se présente, le fichier se crée bien, mais le soucis c'est qu'il est vide !?

Petite précision je suis en localhost.

Merci
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 12h06   #8
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
Quelques mois plus tard et je n'ai toujours pas de solutions.
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 12h28   #9
Membre habitué
 
Avatar de berti
 
Inscription : août 2007
Messages : 214
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : août 2007
Messages : 214
Points : 125
Points : 125
Pour faire les sauvegardes de mes bases j'utiliser une fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function dumpMySQL($serveur, $login, $password, $base, $mode)
{
    $connexion = mysql_connect($serveur, $login, $password);
    mysql_select_db($base, $connexion);
 
	$t=getdate();
	$date=date('Y-m-d',$t[0]);
 
    $entete = "-- ----------------------\n";
    $entete .= "-- dump de la base ".$base." au ".date("d-M-Y")."\n";
    $entete .= "-- ----------------------\n\n\n";
    $creations = "";
    $insertions = "\n\n";
 
    $listeTables = mysql_query("show tables", $connexion);
    while($table = mysql_fetch_array($listeTables))
    {
        // si l'utilisateur a demandé la structure ou la totale
        if($mode == 1 || $mode == 3)
        {
            $creations .= "-- -----------------------------\n";
            $creations .= "-- creation de la table ".$table[0]."\n";
            $creations .= "-- -----------------------------\n";
            $listeCreationsTables = mysql_query("show create table ".$table[0], $connexion);
            while($creationTable = mysql_fetch_array($listeCreationsTables))
            {
              $creations .= $creationTable[1].";\n\n";
            }
        }
        // si l'utilisateur a demandé les données ou la totale
        if($mode > 1)
        {
            $donnees = mysql_query("SELECT * FROM ".$table[0]);
            $insertions .= "-- -----------------------------\n";
            $insertions .= "-- insertions dans la table ".$table[0]."\n";
            $insertions .= "-- -----------------------------\n";
            while($nuplet = mysql_fetch_array($donnees))
            {
                $insertions .= "INSERT INTO ".$table[0]." VALUES(";
                for($i=0; $i < mysql_num_fields($donnees); $i++)
                {
                  if($i != 0)
                     $insertions .=  ", ";
                  if(mysql_field_type($donnees, $i) == "string" or mysql_field_type($donnees, $i) == "datetime"|| mysql_field_type($donnees, $i) == "blob")
                     $insertions .=  "'";
                  $insertions .= addslashes($nuplet[$i]);
                  if(mysql_field_type($donnees, $i) == "string" or mysql_field_type($donnees, $i) == "datetime" || mysql_field_type($donnees, $i) == "blob")
                    $insertions .=  "'";
                }
                $insertions .=  ");\n";
            }
            $insertions .= "\n";
        }
    }
 
    mysql_close($connexion);
 
    //Indiquer l'emplacement
    $fichierDump = fopen("../sauvegarde/$base-$date.sql", "wb");
    fwrite($fichierDump, $entete);
    fwrite($fichierDump, $creations);
    fwrite($fichierDump, $insertions);
    fclose($fichierDump);
	echo "<SCRIPT LANGUAGE='JavaScript'>";
	echo "alert('Sauvegarde effectée avec succès.')";
	echo "</SCRIPT LANGUAGUE>";
}
ensuite tu appelles la fonction par un bouton dans un formulaire

Code :
dumpMySQL("127.0.0.1", "root", "", "lenomdelabase", 3);
berti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 12h57   #10
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
merci beaucoup je vais tester !

cependant pourquoi la doc mysql indique mon code si elle fonctionne pas ?!

faut dire que c'est plus court lol


EDIT : est-ce que les contraintes s'exportent aussi ?
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h34.


 
 
 
 
Partenaires

Hébergement Web