2011-08-30 3 views
2

J'ai des problèmes avec mysqldump. J'ai verrouillé mes tables et j'ai exécuté la commande suivante:mysql erreur de vidage

mysqldump -u user -p password databasename en utilisant mon mot de passe actuel et le nom de la base de données. Quand j'exécute ceci à partir de mysql, j'obtiens une erreur 1064 qui indique qu'il y a un problème avec ma syntaxe. J'ai également essayé d'exécuter la commande à partir du terminal (en dehors de mysql) et de recevoir un message d'erreur "command not found". Je ne suis pas tout à fait sûr de la façon dont je devrais le faire (les explications que j'ai trouvées jusqu'ici ont été vagues).

Merci pour l'aide.

Répondre

3
  1. Le mysqldump est un programme, il ne peut être exécuté à partir de la console mysql. Exécutez-le à partir du shell.

  2. Jetez un oeil à la référence de syntaxe.

    --user = user_name, -u user_name

    --password [= password], -p [password]

Comme vous le voyez, il n'y a pas d'espace entre -p et mot de passe. Ainsi, votre ligne de commande devrait ressembler à ceci:

>shell mysqldump -u <user_name> -p<user_password> ... 

ou

>shell mysqldump --user=<user_name> --password=<user_password> ... 
0

la syntaxe correcte est

mysqldump -u [username] -p[password] [databasename] > [backupfile.sql] 

vous devez ajouter le > backupfile.sql

l'autre erreur est de croire que votre système ne reconnaît pas le chemin mysqldump et vous devriez aller directement à bin dossier de l'installation mysql.

+0

Il devrait y avoir aucun espace entre -p et votre mot de passe – minaz

+0

oui vous avez raison :) –

0

Il vous manque le nom du fichier de sauvegarde cible:

# [mysql dir]/bin/mysqldump -u username -p password --databases databasename > /tmp/databasename.sql