probleme mysqldump

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 14:20

bonjour,

J'ai bien lu tous les topics sur mysqldump et chez moi ca me creer un fichier vierge, je suis sous MAMP (OSX) j'utilise la commande :

system("mysqldump --host=localhost --user=root --password=root --tables etudiants > test1.sql");
j'ai essayé avec ou sans "=" , avec localhost:8889 mais ca me fait un fichier vide a chaque fois.

De plus la commande mysqldump n'est pas reconnue sous mon editeur de texte ( pas de changement de couleurs ) mais c'est surement normal...

Mais le fichier existe bien sur mon disque

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 mai 2006, 14:29

Et si tu executes cette commande depuis la console mysql, il se passe quoi ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 15:29

si j'execute cette commande dans un terminal, le fichier est bien crée et non vide (donc parfait)...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 mai 2006, 15:32

Est-ce que ton include path contient le chemin d'accès à MySQL ?

Sinon, il est possible que le problème vienne du fait qu'il ne trouve pas l'executable mysqldump ... :-k
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 15:34

question bete : c'est quoi un include path ?

et mysqldump se trouve dans un rep du genre /Application/MAMP/Library/bin

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 mai 2006, 15:38

C'est la liste des chemin vers lesquels sont recherchés les programmes que tu demandes à executer.

Par exemple, sous Windows, c:/windows/system_32 est dans ce PATH ce qui permet d'acceder directement aux executable qui sont dans ce dossier sans spécifier le chemin d'accès

Pour me rassurer, quand tu met cette commande dans un shell, est-ce que tu te places dans le dossier qui contient mysqldump ou pas ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 15:40

oui bien sur je me mets dans le repertoire de mysqldump

Donc il faudrait que je precise ou se trouve mysqldump?

Du genre : system("/Applications/MAMP/library/bin/mysqldump --host localhost:8889 --user root --password root --tables etudiants > test1.sql");

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 mai 2006, 15:48

Tu as tout compris ;)

En fait, system() ne fait que simuler l'execution via un shell. Il faut donc que tu fasses la même chose dans system()
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 16:03

malheureusement ca ne marche pas.

voici l'architecture de mon disque

Macintoch HD/Applications/MAMP/Library/bin ---> mysqldump
/htdocs/projet a jour/crash ---> crash.php

j'ai fais :
system("/Applications/MAMP/library/bin/mysqldump --host localhost:8889 --user root --password root --tables etudiants > test1.sql");

et :
system("../../../Applications/MAMP/library/bin/mysqldump --host localhost:8889 --user root --password root --tables etudiants > test1.sql");

Le fichier est toujours vide

edenyorke
Invité n'ayant pas de compte PHPfrance

09 mai 2006, 16:10

c'est bon ca marche

en fait dans la commande il manquait un = pour host,user et password et il n'en faut pas pour tables

Merci beaucoup pour ton aide

(ps je n'ai pas de bouton resolu)

Edenyorke

Fender
Invité n'ayant pas de compte PHPfrance

24 août 2006, 09:20

Bonjour,

J'ai eu également un problème avec MysqlDump qui générait un fichier vide via php.
En précisant simplement le chemin de mysqldump dans l'arborescence, ça fonctionne. Il faut remonter de l'endroit où se trouve le fichier php (..\).

Mon fichier php était dans un répertoire dans www. Cela donne donc:

system('..\..\mysql\bin\mysqldump.exe --host=localhost --user=root nom_base > nom_fichier_sauvegarde.sql');

En espérant que cela aide...

Tembounet
Invité n'ayant pas de compte PHPfrance

07 nov. 2006, 01:27

Merci Fender :D

ça fonctionne parfaitement !