mysqldump pour plusieurs tables

ViPHP
ViPHP | 2287 Messages

10 août 2012, 15:39

Je me demande si je n'ai pas une erreur très bête, grosse comme une maison, mais je n'ai encore rien trouvé.
Dans cette série-là, il est possible que ton hébergeur (mutualisé donc) aie désactivé, ou lourdement bridé, les possibilités d'éxécution avec system()... Ou n'aie pas installé mysqldump, ou autre raison du genre.

N'hésite pas à te mettre en rapport avec lui, il peut t'apporter l'explication, voire la solution ;)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 81 Messages

10 août 2012, 15:48

Non, Calimero, je ne crois pas car je fais des system() avec mysqldump qui sauvegardent très bien la base complète.

Mais je n'arrive simplement pas à sauvegarder qqes tables de la même base.

Francois

ViPHP
ViPHP | 2577 Messages

10 août 2012, 16:03

Sauvegarde le fichier erreur à tout hazard avec 2> fichier_dump.err

Code : Tout sélectionner

mysqldump –host=myhost --user=moimeme --password=rintintin --tables tab1 tab2 > fichier_dump.sql 2> fichier_dump.err

Eléphant du PHP | 81 Messages

10 août 2012, 16:47

Essai fait en faisant un copier / coller de > fichier_dump.sql 2> fichier_dump.err

Résultat:
- j'ai bien un fichier fichier_dump.sql de contenu identique à ce que j'avais, sans surprise
- je n'ai pas de fichier fichier_dump.err

Francois

ViPHP
ViPHP | 2577 Messages

10 août 2012, 16:51

L'objectif était d'avoir un message d'erreur (mais je ne suis pas au top linux).

Essayes de de passer la commande en ligne de commande sur ton serveur ou sur ton pc pour voir ce qui se passe.

Eléphant du PHP | 81 Messages

10 août 2012, 17:05

Difficile à faire car mon PC est en Windows et que je n'ai pas accès au serveur mutualisé qui m'héberge.

Je ne peux faire qqechose qu'en Php.

Francois

ViPHP
xTG
ViPHP | 7331 Messages

10 août 2012, 21:46

Essaies avec l'option --debug pour avoir des infos.

Eléphant du PHP | 81 Messages

10 août 2012, 22:44

J'ai ajouté --debug mais ça n'a pas fonctionné, mon fichier files.sql était totalement vide.

Francois

ViPHP
ViPHP | 2287 Messages

11 août 2012, 15:00

Comment tester ma commande en interactif? Mon PC est en Windows, pas en Linux.
J'avais pas relevé ça avant mais deux petites choses : en présentant les choses de cette manière, tu coupes efficacement toute possibilité de te doter d'un environnement de test convenable pour ton développement. Je m'explique :

- Si j'ai bonne mémoire, mysqldump et tous les outils mysql existent et fonctionnent sous windows de manière quasiment identique aux équivalents unix, rien ne t'empêche de tout installer en local chez toi. il est d'ailleurs étonnant que tu ne l'aies pas déjà fait.

- L'installation d'un linux est chose facile de nos jours, et si tu ne peux pas le faire en tant que système principal sans doute le peux-tu via une machine virtuelle (vmware, qemu, virtuabox, etc)

- Si ça n'allait pas il y a aussi cygwin, logiciel libre qui t'apporte un environnement de logiciels libres venus du monde linux assez complet et efficace.

- Si jamais le point précédent posait problème, rien ne t'empêche de trouver un autre PC plus accueillant pour ton développement, idéalement sous un OS libre, tu n'es pas vissé à ton ordinateur actuel (à moins que tu sois un cyborg, mais j'ai quelques doutes ;) ).

- Et si tout ça ne suffit toujours pas, il y a des offres de services cloud, vps, serveur dédié, à tous les prix qui t'offrent l'accès à une ligne de commande linux.

Bref, comme je te le disais dans mon premier post il faudrait idéalement que tu trouves, ou que tu te construises un environnement de test efficace avec un accès à mysqldump en ligne de commande, sinon on peut rester très longtemps ici à faire des devinettes. J'ai fait quelques tests de mon côté et je te confirme que :

Code : Tout sélectionner

mysqldump -u=MON_USER -p=MON_PASSWORD MA_BASE MA_TABLE_1 MA_TABLE_2
fonctionne correctement, libre à toi de t'en inspirer dans tes tests (fais particulièrement attention aux options, qui doivent être au début, et aux =. Attention aussi aux caractères parasites éventuels de ton mot de passe qui peuvent casser la syntaxe de la ligne de commande).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 81 Messages

11 août 2012, 21:12

bonjour Calimero et merci de ton long message.

Sans être attaché à Windows, je préfère rester dans un environnement que je connais; aussi, je n'ai pas l'intention de créer un serveur en local pour tester, ce qui irait au delà de ce que je peux faire.

Par contre, je vais continuer de chercher la solution à mon problème mysqldump qui me parait basique.

Mais je vais laisser ce forum tranquille, du moins tant que je n'aurai pas trouvé, en remerciant tous ceux qui ont participé à ma recherche.

Merci encore.

Francois

ViPHP
ViPHP | 2287 Messages

12 août 2012, 00:31

Bonsoir François,
bonjour Calimero et merci de ton long message.

Sans être attaché à Windows, je préfère rester dans un environnement que je connais; aussi, je n'ai pas l'intention de créer un serveur en local pour tester, ce qui irait au delà de ce que je peux faire.
Je ne comptais pas te faire changer de système de manière permanente avec mon dernier message, tout cela s'entendait de manière temporaire le temps de mener à bien ton développement. Et une machine virtuelle, si tu ne connais pas cette technologie, est une solution simple (imagine un système linux complet qui s'éxécute d'un double clic, dans une fenêtre, sous ton OS habituel, et que tu peux stopper/reprendre/cloner/supprimer quand bon te semble). Je respecte malgré tout ta non-volonté d'essayer, mais c'est dommage car ça ne te coûtait rien d'autre qu'un peu de temps.
L'installation d'un serveur local (ou de test, car des alternatives sont possibles, cf machines virtuelles) est une quasi-obligation pour faire du développement php. Ça fait un peu peur la première fois, mais plus du tout les fois suivantes. Et paradoxalement, c'est encore plus facile à faire sous linux.
Par contre, je vais continuer de chercher la solution à mon problème mysqldump qui me parait basique.

Mais je vais laisser ce forum tranquille, du moins tant que je n'aurai pas trouvé, en remerciant tous ceux qui ont participé à ma recherche.

Merci encore.

Francois
Si tu souhaites partir, libre à toi (sachant que personne ici ne te met dehors, bien au contraire), mais auparavant relis bien mon "long" message et tente de t'inspirer de ce que je t'ai copié à la fin. Le manuel de mysqldump (accessible en ligne de commande... ou bien ici : http://www.manpagez.com/man/1/mysqldump/ ) te sera sans doute utile. Essaye par exemple de créer une nouvelle ligne de code basée sur celle que je t'ai copiée (sans rien rajouter au début) puis de copier ou remplacer des morceaux depuis ton ancienne, jusqu'à identifier la cause du problème ou aboutir au résultat souhaité.

Sinon, tu disais au début t'être basé sur un bout de script qui fonctionnait déjà... Désolé de pointer l'évidence, mais si tu listes de manière exhaustive les différences entre les deux scripts, alors tu trouveras forcément le problème, avec notre aide si nécessaire.

++
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 81 Messages

13 août 2012, 16:19

bonjour Calimero et merci de nouveau pour ton long message.

Je ne vais certainement pas quitter de forum mais je souhaite simplement laisser tranquilles ses participants, sauf quand j'aurai trouvé la solution.

Je ne suis pas un développeur mais j'essaie simplement de faire qqes développements pour arriver à faire fonctionner mon principal site Web qui se propose d'aider des personnes âgées ou handicapées à utiliser facilement l'informatique.

Aussi, malgré ta gentille sollicitude, je ne suis pas prêt, du moins pour le moment, à sauter le pas d'une machine virtuelle et d'un environnement de test local.

Oui, quand j'ai une difficulté, je procède comme tu le décris, en repartant, soit de qqechose de simple, soit de qqechose qui fonctionne, et j'ajoute petit à petit ce qui manque.

Merci de ton aide t à bientôt j'espère, avec la solution.

Francois