У меня три сервера: X, Y и Z.
У меня есть основная БД mysql на X (БД innodb).
теперь я создал Master-Slave от X до Y. Здесь все работает нормально.
и теперь я установил Y как мастер для Z.
когда я показываю статус ведомого на Z (третий сервер)
show slave status\G Slave_IO_State: Waiting for master to send event ... Slave_IO_Running: Yes Slave_SQL_Running: Yes ... Seconds_Behind_Master: 0
но данные не синхронизированы, и ничего не было перемещено из Y в Z. Есть идеи о том, что может вызвать это ??
РЕДАКТИРОВАТЬ
в my.cnf на сервере Y у меня есть следующий conf:
log-slave-updates=ON log-bin=mysql-bin
но в переменных шоу, таких как '% slave%', у меня есть
show variables like '%slave%'; +---------------------------+--------+ | Variable_name | Value | +---------------------------+--------+ | init_slave | | | log_slave_updates | OFF | | slave_compressed_protocol | OFF | | slave_exec_mode | STRICT | | slave_load_tmpdir | /tmp | | slave_net_timeout | 3600 | | slave_skip_errors | OFF | | slave_transaction_retries | 10 | | sql_slave_skip_counter | | +---------------------------+--------+
Спасибо за вашу помощь
Убедитесь, что вы начали Y с --log-slave-updates вариант, чтобы обновления, полученные от X, записывались Y в свой двоичный журнал.
в my.cnf на сервере Y у меня есть следующий conf:
log-slave-updates=ON
Используйте логическое значение вместо значения переключателя:
log-slave-updates=true
Результаты:
mysql> show global variables like '%slave%';
+---------------------------+--------+
| Variable_name | Value |
+---------------------------+--------+
| init_slave | |
| log_slave_updates | ON |
| slave_compressed_protocol | OFF |
| slave_exec_mode | STRICT |
| slave_load_tmpdir | /tmp |
| slave_net_timeout | 3600 |
| slave_skip_errors | OFF |
| slave_transaction_retries | 10 |
| sql_slave_skip_counter | |
+---------------------------+--------+
9 rows in set (0.00 sec)