databases - mysqldump remote server example
cómo mysqldump remote db desde la máquina local (2)
Como todavía no lo he visto en serverfault, la respuesta es bastante simple:
Cambio:
ssh -f -L3310:remote.server:3306 [email protected] -N
A:
ssh -f -L3310:localhost:3306 [email protected] -N
Y cambio:
mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
A:
mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name
(no use localhost, es una de estas tonterías de ''significado especial'' que probablemente se conecta por socket en lugar de por puerto)
edit : bueno, para elaborar: si el host está configurado como localhost
, se supone una opción de --socket
configurada (o predeterminada). Consulte el manual para el cual se buscan / utilizan los archivos de opciones. En Windows, esta puede ser una tubería con nombre.
Necesito hacer un mysqldump de una base de datos en un servidor remoto, pero el servidor no tiene instalado mysqldump. Me gustaría usar el mysqldump en mi máquina para conectarme a la base de datos remota y hacer el volcado en mi máquina.
Intenté crear un túnel ssh y luego hacer el volcado, pero parece que no funciona. Lo intenté:
ssh -f -L3310:remote.server:3306 [email protected] -N
El túnel se crea con éxito. Si lo hago
telnet localhost 3310
Obtengo un anuncio que muestra la versión correcta del servidor mysql. Sin embargo, hacer lo siguiente parece intentar conectarse localmente
mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
Puede invocar mysqldump localmente contra un servidor remoto.
El ejemplo que funcionó para mí sería:
mysqldump -h hostname-of-the-server -u mysql_user -p database_name > file.sql
Acabo de seguir la documentation mysqldump sobre las opciones de conexión.