2012-05-23 17 views
14

Tengo una conexión entre mi servidor local y un servidor remoto que usa el túnel SSH de masilla.Importación de un archivo SQL local a MySQL en un servidor remoto utilizando el túnel SSH

Eso está bien.

Ahora necesito un comando para obtener el archivo sql en mi máquina local es decir, c: \ carpeta \ test.sql y la importación en MySQL en el servidor remoto

pensé que tal vez ...

mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb 

luego hacer un comando como

mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql 

este comando no funcionó.

¿Cómo puedo lograr esto?

+0

¿Realmente desea importar al servidor MySQL en la máquina remota? Entonces no hay necesidad de transferirlo primero a su máquina local. – cb0

+0

Es un archivo SQL de un servidor diferente al servidor remoto que usaré – Jkk

Respuesta

3

Use 'scp' para copiar y mysql para insertar en su máquina local.

Sintaxis:

scp [email protected]_server:/path/to/sql/file.sql ~/path/to/local/directory 

después trasladado el uso de archivos:

mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql 
+3

¿se puede hacer esto en un solo comando? – jmserra

9

Tendrá que ssh a la máquina remota con el comando mysql anexa:

ssh [email protected]_server mysql -p testpass -u username testdb < c:\folder\test.sql 
24

Usted debe ejecutar este comando

mysql -h host -u user_name -pPassword database <file.sql> output.log 

file.sql contiene las consultas SQL para ejecutar y output.log sólo tiene sentido cuando se tiene una consulta que devuelve algo (como un selecto)

La única diferencia que puedo ver en su código es el espacio en blanco espacio entre la opción -p y la contraseña. Si usa la opción -p, debe escribir la contraseña sin dejar ningún espacio en blanco. O simplemente puede usuario la opción --password = contraseña

espero que puedan resolver el problema

+0

Esto es idealmente cierto. Aún así, puede no ser una buena práctica permitir conexiones remotas al servidor mysql, hasta que realmente sepa lo que está haciendo. – augusto

+1

Si su archivo 'sql' contiene la definición del esquema, todo lo que necesita ejecutar es:' mysql -h host -u nombre_usuario -pPassword CommandZ

-1

Puede utilizar pscp a subir el archivo al servidor. Ir a la línea de comandos y escriba este

pscp.exe c:\folder\test.sql [email protected]:/serverpath 
4
1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql 
2. use DATABASE.    //asign which db to import 
3. source path/to/file.sql //the path can be your local sql file path. 

refference: Import SQL file into mysql

Cuestiones relacionadas