Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Hekaly en 25 Abril 2013, 16:17 pm



Título: Problemas al replicar mysql si quito el cable de red y rendimiento.
Publicado por: Hekaly en 25 Abril 2013, 16:17 pm
Buenas tardes.

Tengo unos problemillas, bueno, mas bien dudas sobre el comportamiento de las replicas en mysql.

Tengo varias replicas de prueba funcionando maestro-maestro el tema es que replica perfectamente incluso si se apaga/reinicia el ordenador ya que coge la informacion de los log.

Código:
log-bin=/var/log/mysql/mysql-bin.log
log-bin-index=/var/log/mysql/log-bin.index
log-error=/var/log/mysql/error.log
relay-log=/var/log/mysql/relay.log
relay-log-info=/var/log/mysql/relay-log.info
relay-log-index=/var/log/mysql/relay-log.index

Incluso con la replica que tengo de centos y tablet android va bien.

El tema es cuando quito el cable de red, apaga el router o quito el wifi al volver a tener red, no me replica. Solo he consegido que me replique si reinicio el servisio
Código:
/etc/init.d/mysql restart

o si reinicio el esclavo.

Código:
slave stop;
slave start;

A que es debido esto???, hay alguna forma de configurar el my.cnf para saber si se ha desconectado internet??

Por otro lado esta el problema del rendimiento. Generalmente va bien , pero ha veces que para probar meto un registro y a lo mejor tarda 10 min en el otro equipo, asimismo haciendo un show slave status\G; a veces me sale Slave_IO_Running en Yes y Slave_SQL_Running en No, y para arreglarlo tengo que hacer en el pc

Código:
flush tables with read lock;
show master status;

para volver a usar el change master en el otro y asi tener los dos yes.

Espero que me pueda ayudar, muchas gracias y un saludo.


Título: Re: Problemas al replicar mysql si quito el cable de red y rendimiento.
Publicado por: el-brujo en 29 Abril 2013, 20:43 pm
Aquí faltan datos de configuración. ¿Qué configuración tienes en el my.cnf del otro maestro del MySQ?

Podrías añadir

Código:
 sync_binlog = 256
 expire_logs_days = 14
 max_binlog_size = 1G

Ten en cuenta que que replicación en MySQL por defecto es asynchronous (asincrónica) pero se puede hacer semi-sincrónica (Semisynchronous)

¿Qué motor utilizas InnoDB o MyISAM? Si tienes problemas de lock con según que consultas, te conviene usar InnoDB

http://blog.elhacker.net/2013/01/log-binario-en-mysql.html