cómo mysqldump base de datos remota de la máquina local


Necesito hacer un mysqldump de una base de datos en un servidor remoto, pero el servidor no tiene mysqldump instalado. Me gustaría usar mysqldump en mi máquina para conectarme a la base de datos remota y hacer el volcado en mi máquina.

He intentado crear un túnel ssh y luego hacer el volcado, pero esto no parece funcionar. Lo intenté:

ssh -f -L3310:remote.server:3306 [email protected] -N

El túnel se crea con éxito. Si lo hago

telnet localhost 3310

Recibo un poco de publicidad que muestra la versión correcta de mysql del servidor. Obstante, hacer lo siguiente parece intentar conectarse localmente

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
Author: Brian Webster, 2010-06-07

2 answers

Como todavía no lo he visto en serverfault, y 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 cambiar:

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)

Editar : bueno, para elaborar: si host se establece en localhost, se asume una opción configurada (o predeterminada) --socket. Consulte el manual para qué archivos de opciones son buscado / usado. Bajo Windows, esto puede ser una tubería con nombre.

 203
Author: Wrikken,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-05 21:56:09

Puede invocar mysqldump localmente contra un servidor remoto.

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 documentación de mysqldump sobre las opciones de conexión.

 34
Author: Ondrej Burkert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-15 15:12:14