スレーブサーバーを別のサーバーのマスターにする

スレーブサーバーを別のサーバーのマスターにする

私は3つのサーバー、サーバーX、Y、Zを持っています
。Xにはメインのmysql DB(innodb DB)があります。X
からYへのマスタースレーブを作成しました。ここではすべて正常に動作しています。
そして今、YをZのマスターとして設定しました。Z
(3番目のサーバー)でスレーブステータスを表示すると、

スレーブステータスを表示\G
Slave_IO_State: マスターがイベントを送信するのを待機中
...
スレーブIO実行中: はい
スレーブSQL実行中: はい
...
マスターより遅れている秒数: 0

しかし、データは同期されておらず、Y から Z に何も移動されていません。この原因について何か考えはありますか?
編集
サーバー Y の my.cnf には、次の conf があります。

ログスレーブ更新=ON
ログ bin = mysql bin

しかし、「%slave%」のような変数を表示すると

'%slave%' のような変数を表示します。
+---------------------------+--------+
| 変数名 | 値 |
+---------------------------+--------+
| スレーブを初期化 | |
| log_slave_updates | オフ |
| スレーブ圧縮プロトコル | オフ |
| スレーブ実行モード | 厳密 |
| スレーブロードtmpディレクトリ | /tmp |
| スレーブネットタイムアウト | 3600 |
| スレーブ スキップ エラー | オフ |
| スレーブトランザクション再試行 | 10 |
| sql_slave_skip_counter | |
+---------------------------+--------+

ご協力いただきありがとうございます

答え1

Yが以下の条件を満たしていることを確認してください。--logスレーブ更新オプションにより、X から受信した更新が Y によってバイナリ ログに記録されます。


サーバー Y の my.cnf には、次の 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)

関連情報