2009-08-21 12 views
38

Estoy tratando de mover una base de datos MySQL de una máquina Linux a una que ejecuta Windows Vista.¿Cómo puedo cargar un archivo mysqldump .sql en una base de datos MySQL en Windows Vista?

Al usar mysqldump, obtuve un archivo .sql, que he trasladado a la máquina de Windows. ¿Que sigue?

Si me mudo a otra máquina Linux, se podría hacer este tipo de cosas:

mysql -u username -p databasename < dumpfile.sql 

¿Alguien sabe de una invocación similar que funciona desde la línea de comandos de Windows? ¿O hay herramientas para lograr esto?

Cuando trato de este tipo de comando desde la línea de comandos de Windows, consigo:

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

También he intentado:

mysql> source C:\Stuff\dumpfile.sql 

Eso dio:

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

Creo que la ruta de instalación predeterminada para el ejecutable de MySQL en Windows es C: \ Archivos de programa \ MySQL \ bin, o algo como eso. Si necesita encontrarlo, haga una búsqueda en su disco duro para MySQL.exe – Kibbee

+0

Eso es, pasé por alto el subdirectorio \ bin en mi búsqueda. Gracias por su paciencia. Hecho. –

+0

+1 para 'mysql -u username -p nombre de base de datos suhailvs

Respuesta

17

Este mismo tipo de comando debería funcionar tanto en Windows como en Linux. ¿Has intentado ejecutar este comando? ¿Qué tipo de mensaje de error está recibiendo?

Acabo de probar en mi máquina local con MySQL en Windows XP. La única razón por la que pude ver que esto no funciona es que MySQL no está en su camino. Si no está en su camino, necesita especificar la ruta completa del ejecutable MYSQL o ejecutarlo desde el directorio en el que está almacenado. También puede agregar el ejecutable a la ruta si planea usar el ejecutable MySQL en un regularmente.

+0

Estoy seguro de que parezco un rube real, pero no puedo encontrar mi ejecutable de MySQL. ¿Alguna idea? –

1

Si no te importa hacerlo interactivamente, puedes usar el comando source en el shell mysql, seguido del nombre del archivo. De lo contrario, creo que Kibbee tiene razón sobre las tuberías que trabajan en cmd.exe.

5

Si obtiene un 'error 2' es porque el comando se ha ejecutado, por lo que no se debe a que MysQL no se ha encontrado.

2 El error se debe a que se debe utilizar esta ruta: 'C:/Stuff/dumpfile.sql' en lugar de 'C:\Stuff\dumpfile.sql'

También puede probar 'C:\\Stuff\\dumpfile.sql', pero el Unix camino es el camino a seguir.

Pero la forma más fácil es la siguiente:

Si el archivo .sql se encuentra en c: \ temp, y el MySQL está instalado en la ubicación predeterminada:

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

Saludos.

0

Puede agregar una variable de entorno en Windows XP, probada y confirmada para Vista, a través de setx.exe, a la carpeta que contiene mysql.exe, mysqldump.exe, etc. (Este ejemplo se basa en tener MySQL Workbench instalado y simplemente modificar el camino a tu elección

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

Ver this comment by Jeff Zohrab en la documentación de MySQL:

para usuarios de Windows, utilizar barras inclinadas para los delimitadores de ruta. Tampoco es necesario que encierre la ruta del archivo entre comillas. Por ejemplo, las siguientes obras:

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

Por si acaso, para Linux:

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

¡Gracias, esto es justo lo que estaba buscando! (en Linux) :) – lucidDev

Cuestiones relacionadas