2009-08-21 8 views
38

Sto provando a spostare un database MySQL da una macchina Linux su una che esegue Windows Vista.Come caricare un file mysqldump .sql in un database MySQL in Windows Vista

Utilizzando mysqldump, ho ottenuto un file .sql, che ho spostato sulla macchina Windows. Qual'è il prossimo?

Se fossi trasferirsi in un'altra macchina Linux, si potrebbe fare questo genere di cose:

mysql -u username -p databasename < dumpfile.sql 

Qualcuno sa di un'invocazione analogo che funziona da linea di comando di Windows? O ci sono strumenti per realizzare questo?

Quando provo questo tipo di comando dalla riga di comando di Windows, ottengo:

'mysql' is not recognized as an internal or external command 

Ho anche provato:

mysql> source C:\Stuff\dumpfile.sql 

che ha dato:

Failed to open file 'C:\Stuff\dumpfile.sql', error: 2 
+0

Penso di installazione di default percorso per l'eseguibile di MySQL in Windows è C: \ Programmi \ MySQL \ bin, o qualcosa del genere. Se hai bisogno di trovarlo, fai una ricerca del tuo disco fisso per MySQL.exe – Kibbee

+0

Ecco fatto, ho trascurato la sottodirectory \ bin nella mia ricerca. Grazie per la vostra pazienza. Fatto. –

+0

+1 per 'mysql -u username -p databasename suhailvs

risposta

17

Questo stesso tipo di comando dovrebbe funzionare sia in Windows che in Linux. Hai provato a eseguire questo comando? Che tipo di messaggi di errore stai ottenendo.

Ho appena eseguito il test sulla mia macchina locale con MySQL su Windows XP. L'unica ragione per cui ho potuto vedere questo non funziona, è che MySQL non è sul tuo percorso. Se non è nel tuo percorso, devi specificare l'intero percorso dell'eseguibile di MYSQL o eseguirlo dalla directory in cui è memorizzato. Puoi anche aggiungere l'eseguibile al percorso se prevedi di utilizzare l'eseguibile MySQL su un base regolare.

+0

Sono sicuro di sembrare un vero rube, ma non riesco a trovare il mio eseguibile MySQL. Qualche idea? –

1

Se non ti dispiace farlo in modo interattivo, puoi utilizzare il comando source nella shell mysql, seguito dal nome del file. Altrimenti, credo che Kibbee abbia ragione riguardo alle tubature che funzionano in .

5

Se si ottiene un 'errore 2' è perché il comando è stato eseguito, quindi non è perché MysQL non è stato trovato.

L'errore 2 è perché si dovrebbe utilizzare questo percorso: 'C:/Stuff/dumpfile.sql' invece di 'C:\Stuff\dumpfile.sql'

Si potrebbe anche provare 'C:\\Stuff\\dumpfile.sql', ma l'unix come percorso è la strada da percorrere.

Ma il modo più semplice è questa:

Se il file sql è in c: \ temp, e il MySQL è installato nella posizione predefinita:

C:\temp>"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe" -u root -p -h localhost myDatabase < myDatabaseDump.sql 

saluti.

0

È possibile aggiungere una variabile di ambiente in Windows XP, testata e confermata per Vista, tramite setx.exe, nella cartella contenente mysql.exe, mysqldump.exe ecc. (Questo esempio si basa sull'avvio di MySQL Workbench e basta modificare il percorso per la tua scelta.

setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE" 
11

Vedi this comment by Jeff Zohrab sulla documentazione di MySQL:

per gli utenti Windows, utilizzare le barre per i delimitatori di percorso. Inoltre non è necessario racchiudere il percorso del file tra virgolette. Ad esempio, le seguenti opere:

mysql> source C:/Documents and Settings/My name here/My Documents/script.sql; 

Solo nel caso, per Linux:

mysql> source /path/to/script.sql; 
+0

Grazie, questo è proprio quello che stavo cercando! (su Linux) :) – lucidDev