Buenas,
He configurado un servidor master y otro esclavo para que se repliquen los datos del servidor master en el esclavo de forma automática.
En principio todo está bien configurado, y cuando arranco el servicio en el esclavo (Start slave) este coge del log binario del maestro las últimas actualizaciones que se han realizado y se las aplica a si mismo correctamente.
El problema viene que si hago una modificación en los datos del maestro, estos no se replican en el esclavo, para que se repliquen tengo que hacer un Stop Slave; y seguidamente un Start Slave;
Datos en Servidor Maestro:
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000016 | 2399 | | |
+------------------+----------+--------------+------------------+
mysql> show processlist;
| Id | User | Host | db | Command | Time | State | Info
+----+------------+-------------------+------------+-------------+------+-----------------------------------------------------------------------+------------------+
| 32 | replicant1 | 172.26.0.44:49239 | NULL | Binlog Dump | 5 | Master has sent all binlog to slave; waiting for binlog to be updated| NULL
Datos en servidor Esclavo:
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.26.0.34
Master_User: replicant1
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000016
Read_Master_Log_Pos: 2879
Relay_Log_File: VirtualMachine1-relay-bin.000032
Relay_Log_Pos: 493
Relay_Master_Log_File: mysql-bin.000016
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 2879
Relay_Log_Space: 659
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
mysql> show processlist;
+----+-------------+-----------------+------------+---------+------+-----------------------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+-----------------+------------+---------+------+-----------------------------------------------------------------------------+------------------+
| 1 | system user | | NULL | Connect | 94 | Waiting for master to send event
| 2 | system user | | NULL | Connect | 212 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL |
+----+-------------+-----------------+------------+---------+------+-----------------------------------------------------------------------------+------------------+
Pasados unos minutos, el proceso del servidor Maestro que se encarga de avisar al Esclavo cuando hay algún cambio, desaparece, es decir, que ya no se muestra al ejecutar el comando Show processlist;
Datos en el archivo My.ini del servidor Master:
server-id=1
binlog_format=row
log-bin=mysql-bin
sync-binlog=1
innodb_flush_log_at_trx_commit=1
Datos en el archivo My.ini del servido Slave;
server-id=2
relay_log_purge=1
Alguien me puede ayudar? he mirado por todos lados y ya no se que hacer para solucionarlo