Trabajé con un Linux Pro hace años que hizo este ingenioso truco. Podría hacer un mysqldump pero redirigir la salida a una conexión scp / ssh en lugar de escribir en el disco . Utilizamos este silencio un poco donde solía trabajar, pero ya no recuerdo cómo hacerlo.
Ahora me enfrento al problema de que mi disco duro en mi servidor está en sus últimas etapas y, para fines intensivos, está montado permanentemente como solo lectura.
Esperaba utilizar este truco de la línea de comandos para poder hacer una copia de seguridad de mis bases de datos en un nuevo servidor, ya que escribir el volcado en el disco local y transferirlo está claramente fuera de discusión.
¿Es realmente posible este pequeño truco? Si es así, ¿cuál es la sintaxis?
Desde entonces me di cuenta debido al problema del sistema de archivos de solo lectura que tengo, ni siquiera puedo conectarme a mysql para hacer el volcado. Pero su retroalimentación fue excelente y, con suerte, será útil para otra persona en el futuro
Respuestas:
mysqldump nombrebd | ssh [email protected] "mysql -D nombrebd"
eso debería funcionar :-)
Configure las claves entre los sistemas también para que pueda hacerlo sin necesidad de iniciar sesión / pasar :-)
fuente
fuente
mysqldump -p <dbname> | ssh <user>@<ip_address> "cat > <filename>.sql"
exactamente lo que necesitaba.Me gusta la respuesta de @ GlennKelley, pero quería señalar lo siguiente:
Teníamos una base de datos de 450 GB, pero solo 500 GB aprovisionados en el host. No pudimos exportar localmente, así que exportamos de forma remota. Validamos la salida y hubo cientos de instancias en las que la salida estaba corrupta debido a problemas de almacenamiento en búfer.
La mejor solución aquí, es, desde el host de destino donde desea que termine su volcado, ejecute
mysqldump
pero use la-h
opción para host. Apunte el host al servidor MySQL y exporte los datos usando a>
.fuente