[uylug-varios] Sincronizar MySql [RESUELTO]
Pedro Gauna
lapega at gmail.com
Fri Nov 18 04:08:08 PST 2011
El 17/11/11 15:27, Eduardo Trápani escribió:
> O sea, te armás el master, de tu lado, y generás el binary log[2]. El
> slave no vas a poder porque no podés tocarlo.Entonces eso mismo lo
> hacés, convirtiendo el binary log a sql (mysqlbinlog) de modo de tirar
> directamente las modificaciones y no todo al pseudo esclavo. Sería
> algo de este tipo (más abajo en [2]): shell> mysqlbinlog log_file |
> mysql -h server_name Solo que probablemente vos lo mandes a un archivo
> y después lo subas. Después de sincronizar tenés que "volver a cero"
> al binary log.
La solución de Eduardo funcionó muy bien, me quedó un script cortito y
super rápido.
Lo único que tuve que hacer en mi MySql local fue colocar en my.conf:
----------------
log-bin = /var/lib/mysql/master-bin.log
log-bin-index = /var/lib/mysql/master-bin.index.log
binlog-do-db = base_origen
server-id = 1
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
----------------
Luego convertir los logs a un script .sql y tirarlo contra el servidor
online
----------------
mysqlbinlog /var/lib/mysql/master-bin.000001 | mysql -h servidor_online
-u usuario -p base_destino
----------------
Y por último resetear los logs del servidor local con:
----------------
FLUSH LOGS;
RESET MASTER;
----------------
El único inconveniente, aclaro que es ajeno a la solución, es que en mi
MySql local tengo varias bases que son accedidas por distintas
aplicaciones, y resulta que la base que voy a actualizar es conformada
por tablas de otras bases. Entonces todos los días se copia todo el
contenido de esas tablas a la base que voy a actualizar, y claro, el log
vuelve a quedar gigante ya que son tablas completas las que cambian.
Así que que ahora les vuelvo a pedir alguna idea sencilla para resolver
este otro problema.
Muchas gracias,
Pedro.
More information about the Uylug-varios
mailing list