# Crise de nerfs avec mysqldump



## jeff34 (15 Mai 2009)

Bonjour à tous

Voila le problème qui m'arrache les cheveux.

Je dois importer une base dans mysql sur mon mac (Leo X.5.7).
Mysql est bien en fonction, j'y accède sans probleme par phpmyadmin, le serveur apache est ok (j'accède bien à mon index.php).
Mais voila, la base est trop grosse pour etre importer depuis phpmyadmin (meme en modifiant les valeurs limites de php.ini).
J'ai essayé le script bigdump sans succes. Il importe 2 tables et plus rien.
J'en suis donc revenu a la bonne viellie ligne de commande et donc mysqldump.
Las, à la commande j'obtiens un "command not found". et ce meme si je me place dans le dossier de mysql (bin) ou se trouve la commande.
J'ai essayé en user normal en root rien à faire.
D'ailleurs aucune commande de mysql ne fonctionne (meme mysql tout court)

J'ai cherché un peu partout sur le net sans rien trouver de vraiment concluant.

Alors si une ame charitable pouvait m'aider à résoudre ce probleme qui me tient depuis des heures ce serait vraiment sympa.


----------



## Dramis (15 Mai 2009)

Essaye avec les outils graphique mysql admin gui, tu peux faire un import il me semble...


----------



## jeff34 (15 Mai 2009)

Merci de m'avoir répondu.

J'ai essayé avec Mysql administrator. Restore du fichier .sql la base s'importe mais a partir de la je comprend plus rien. Les tables se mettent dans un dossier DEFAULT_SCHEMA (DEFAULT_CATALOG) mais pas dans ma base malgré le fait que je l'ai choisie auparavant. Si je clique sur Restore Backup la ca me met une erreur "MySQL error while restoring backup" sans plus d'infos.
Pourtant cette base est en fonction sur un serveur Linux. et j'ai fait le transfert en FTP.


----------



## bompi (15 Mai 2009)

Vérifie la cohérence des données récupérées avec un contrôle de parité (avec _md5_ par exemple).
Je déplace côté UNIX


----------



## jeff34 (16 Mai 2009)

Le controle est identique sur les  2 fichiers donc pas d'erreur de ce coté.

Mais j'ai toujours ma question Comment activer les commandes mysql sur OSx; apparamment elles ne fonctionnent pas. Je ne peux tout simplement pas accéder à MySQL en ligne de commande.

Autre chose en regardant les tables de la base je m'aperçois que certaines sont InnoDB et en utf8_general_ci et d'autres en MyISAM latin1_swedish_ci. Est-ce que çà a une importance ou influence ?


----------



## Frodon (16 Mai 2009)

jeff34 a dit:


> Bonjour à tous
> 
> Voila le problème qui m'arrache les cheveux.
> 
> ...



Une fois dans le répertoire "bin" de MySQL, il faut taper: ./mysqldump

Utiliser ./ est un réflexe a prendre pour toute commande si un "command not found" est renvoyé lors de son invocation sans le ./  . Evidement, il ne faut l'utiliser que si l'on est dans le répertoire ou se trouve la commande, puisque ./ signifie "répertoire courant".

Pour te simplifier la vie, et avoir accès aux commandes MySQL depuis n'importe où, tu peux aussi rajouter la ligne suivante à ton fichier ".profile" dans ton répertoire perso (a ouvrir depuis le terminal avec "vi" ou autre editeur de texte. Exemple: vi ~/.profile   . S'il n'existe pas, le créer (vi le creera automatiquement dans ce cas, si tu utilises vi)):

Exemple pour XAMPP:
export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH


----------



## jehanon (3 Mars 2010)

j'ai le même probleme , je suis sur MAMP et je voudrais récupérer en local une base de données mySQL distante

comment faire ?

merci


----------



## bompi (3 Mars 2010)

Si elle est distante, comment y accèdes-tu ? Quel accès as-tu à la machine qui l'héberge ?


----------



## pulsaracat (3 Mars 2010)

-pour la base entiere :
si tu as phpMyadmin en distant et en local tu peux faire comme ça :
tu sélectionnes ta base distante, tu vas dans l'onglet Exporter, tu choisis le format sql et tu fais executer. ça va creer une requette sql que tu vas selectionner (pomme a) et copier (pomme c)
ensuite en local, tu cliques sur le bouton SQL juste en dessous le logo phpmyadmin, une fenetre apparait "Exécuter une ou des requêtes SQL sur le serveur "localhost"" dans laquelle tu colles la requete. Tu cliques sur executer et si tout va bien tu as ta copie...
-meme topo si tu veux copier qu'une table 
ça marche aussi dans l'autre sens pour envoyer sur le serveur distant ce qu'on a en local...


----------



## jehanon (4 Mars 2010)

pour des grosses bases ça ne marche pas


----------



## heroe (4 Mars 2010)

jeff34 a dit:


> Las, à la commande j'obtiens un "command not found". et ce meme si je me place dans le dossier de mysql (bin) ou se trouve la commande.



Tu as quoi comme install mysql ? macport ?

Essaie mysqldump5...

Pour exporter : 
	
	



```
mysqldump5 -u ton_user -pton_password ta_base | gzip > export.sql.gz
```
Pour importer : 
	
	



```
zcat export.sql.gz | mysql5 -u ton_user -pton_password ta_base
```


----------



## bompi (4 Mars 2010)

Je pense qu'il vaudrait mieux essayer de répondre à la personne qui a relancé le fil 
... et n'a pas répondu à mes questions


----------

