Blog de Ubuntu en Español Blog [no oficial] de Ubuntu en Español

21Aug/090

Migrar Mysql a otro Mysql via bash remotamente

Este es un pequeño script que hice para poder sincronizar 2 servidores mysql en el interim de una migracion, para poder usar este script el mysql de nuestro server destino tiene que estar limpia (recien instalada) porque el script va a generar todas las bases de datos segun el listado que encuentre en el servidor origen, y luego de eso a llenar con la data existente. Se recomienda que se pausen toda transaccion en el servidor origen para que pueda copiar exactamente igual la informacion.

El unico detalle de este script es que

#!/bin/sh
# System + MySQL backup script remoto
# Copyright (c) 2009 Paulo Alvarado
# This script is licensed under GNU GPL version 2.0 or above
# ---------------------------------------------------------------------

#########################
######CONFIGURACION#####

### MySQL Setup ###
MUSER="USER"
MPASS="PASSWORD"
MHOST="IPLOCAL"

NUSER="USER"
NPASS="PASSWORD"
NHOST="IPREMOTA"

######DECLARACION DE BINARIOS NO MODIFICAR#####
###############################################

### Binaries ###
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"

### Get all databases name ###
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
	### CREA LAS BASES DE DATOS EN EL SERVER REMOTO NOMBRES IDENTICOS ###
	echo 'create database' $db ';'|$MYSQL -u $MUSER -h $NHOST -p$MPASS

	### SINCRONIZA TODA LA DATA DE LAS DBs AL SERVER REMOTO ###
	echo $db; $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | mysql -h $NHOST -u $NUSER  -p$NPASS $db 

done

Post to Twitter Tweet This Post Post to Delicious Delicious

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.