martes, 6 de marzo de 2012

Copiar base Mysql directamente de servidor a otro


Recién me enfrente con el problema de copiar una base de un servidor a otro, sin tener que generar el dump, y luego del otro lado levantar el dump.
Entonces buscando un poco por internet encontré que realmente es muy fácil, entonces los pasos serian los siguientes (o por lo menos como lo hice yo):
1 – tener en el servidor destino la base creada
2 – pararme en el servidor origen
3 – correr el siguiente script

mysqldump –u USUARIO_ORIGEN –pCLAVE_ORIGEN BASE_DE_DATOS_ORIGEN | ssh USUARIO@SERVIDOR "mysql –u USUARIO_DESTINO –pCLAVE_DESTINO BASE_DE_DATOS_DESTINO"

USUARIO_ORIGEN – usuario de la base de datos del servidor de origen
CLAVE_ORIGEN – clave de usuario de la base de datos origen
BASE_DE_DATOS_ORIGEN – nombre de la base de datos que quiero copiar
USUARIO@SERVIDOR – usuario y server destino, esto aconsejo antes de correr esto probar que se tenga acceso por ssh al server destino desde el server origen
USUARIO_DESTINO, CLAVE_DESTINO, BASE_DE_DATOS_DESTINO – se desprende de los 3 primeros

Con esto hay la limitante que el server origen tienen que tener permisos para acceder al server destino por ssh.

Otra opción que también encontré pero que no la probe (lo dejo para que lo prueben ustedes) es la siguiente:
mysqldump –u USUARIO_ORIGEN -p CLAVE_ORIGEN BASE_DE_DATOS_ORIGEN | mysql -h SERVIDOR  –u USUARIO_DESTINO -pCLAVE_DESTINO BASE_DE_DATOS_DESTINO

No hay comentarios: