2011-12-20 13 views
7

Ciao Sto cercando di fare il backup dal client della riga di comando mysql. Sto usando mysqldump per fare il backup con username e password. Di seguito è riportato il comando che sto utilizzando per il backup del database.Errore durante l'esecuzione di backup con mysqldump nella riga di comando mysql

mysql> mysqldump -u username -p password databasename > backup.sql; 

sto ottenendo seguente errore

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'mysql 
dump -u username -p password fms > backup.sql' at line 1 

Anche se il comando sembra essere corretta, ancora sto ottenendo l'errore. Per favore fatemi sapere c'è qualche altro modo di prendere il backup dalla riga di comando mysql.

Grazie in anticipo.

risposta

16

mysqldump non è un comando MySQL, è un'utilità della riga di comando. Devi chiamarlo dalla tua riga di comando della shell.

+0

Come accedere alla riga di comando della shell? – harshakasireddy

+0

Nello stesso modo in cui si accede ad esso per eseguire il comando 'mysql -u username -ppassword' - tramite SSH – Timur

+0

Grazie per la riproduzione. – harshakasireddy

3

Il problema è che si sta eseguendo il comando da un prompt MySQL anziché da una shell Linux. Esci dalla riga di comando mysql ed esegui il comando da una shell del sistema operativo (rimuovi il punto e virgola alla fine)

+0

Grazie per la riproduzione. – harshakasireddy

2

Nel tuo comando, non puoi avere uno spazio tra -p e password. Inoltre, mysqldump deve essere eseguito sulla riga di comando, non in una shell mysql.

Prova questo sulla vostra linea di comando

mysqldump -u username -ppassword databasename > backup.sql 
+0

Ho provato anche quello, ma non ho mai usato lo stesso errore che sto ottenendo. Come posso eseguire mysqldump nella riga di comando? Per favore mi faccia sapere. Grazie per la riproduzione. – harshakasireddy

+0

Oh! Lame question Lame answer –

2

non ho capito quello che gli altri stava cercando di dire fino a quando ho visto this question.

Il problema è che non è possibile accedere a "mysql.exe" e inserire mysqldump in esso. Il "mysqldump.exe" è un altro file, quindi è necessario eseguirlo dalla riga di comando del sistema operativo passando i parametri all'esecuzione.

Così, nel DOS (su Windows, ovviamente), supose che sei nella directory: "C: \ xampp \ mysql \ bin", allora è possibile chiamare il seguente comando:

mysqldump -u root -p test > test.sql 

si potrebbe anche chiamare in questo modo, in modo da poter vedere in modo esplicito che si sta eseguendo un file:

.\mysqldump.exe -u root -p test > test.sql 

Se può essere più pulito di cristallo, si vedrebbe che la linea del DOS:

c:\xampp\mysql\bin>.\mysqldump.exe -u root -p test > test.sql 

Ps: in questo codice ti verrà chiesto di informare la password dopo l'esecuzione. Questo è, in effetti, la raccomandazione che il "mysqldump.exe" ti dà se inserisci la password direttamente nella linea di scarico.

Ps 2: se si utilizzano le impostazioni predefinite dell'utente root (ovvero con password vuota), è sufficiente premere "Invio" quando viene richiesto di informare la password.

Ps 3: il "test.sql" verrà creato nella stessa directory del "mysqldump.exe". In questo esempio, in: "C: \ xampp \ mysql \ bin".

1

Tipo questo nella vostra interfaccia a riga di comando non in MySQL riga di comando:

mysqldump -u username -ppassword databasename > backup.sql 

Per esempio, se il nome utente è 'root', la password è 'abcdefg', e il nome del database è 'MyDatabase', poi la sintassi è:

mysqldump -u root -pabcdefg mydatabase > backup.sql 

backup.sql è il nome del file in cui il vostro backup verrà memorizzato in modo da poter avere qualsiasi nome.

+0

non aggiunge nulla alle risposte esistenti. – hawk

Problemi correlati