我将 MySQL 链式复制设置为 Master->Slave1->Slave2。
事件从 M->S1 复制得非常好,并且还记录到 S1 上的中继和二进制日志中,但是 S2 没有收到这些事件。
SHOW SLAVE STATUS
S2 上显示 IO 和 SQL 线程都在运行,不断Exec_Master_Log_Pos
变化但保持静态。Relay_Log_Space
Relay_Log_Pos
Master 是 MySQL 5.5,S1 & S2 都是 MySQL 5.6.40。
有趣的是,如果任何更新直接在 S1 上完成,那么它们会正确地复制到 S2。
我检查过任何服务器上的磁盘空间都没有满。
还查看并评论了Mysql 复制已启用,但停留在“等待 binlog 更新”
我S1
有:
mysql> show global variables like '%slave%';
+------------------------------+-----------------------+
| Variable_name | Value |
+------------------------------+-----------------------+
| init_slave | |
| log_slave_updates | ON |
| log_slow_slave_statements | OFF |
| rpl_stop_slave_timeout | 31536000 |
| slave_allow_batching | OFF |
| slave_checkpoint_group | 512 |
| slave_checkpoint_period | 300 |
| slave_compressed_protocol | OFF |
| slave_exec_mode | STRICT |
| slave_load_tmpdir | /tmp |
| slave_max_allowed_packet | 1073741824 |
| slave_net_timeout | 3600 |
| slave_parallel_workers | 0 |
| slave_pending_jobs_size_max | 16777216 |
| slave_rows_search_algorithms | TABLE_SCAN,INDEX_SCAN |
| slave_skip_errors | OFF |
| slave_sql_verify_checksum | ON |
| slave_transaction_retries | 10 |
| slave_type_conversions | |
| sql_slave_skip_counter | 0 |
+------------------------------+-----------------------+
On M:
- SELECT @@global.server_id=6
- SELECT @@global.server_uuid=05ac0062-7af8-11e5-9af2-9c8e991000d2
On S1:
- SELECT @@global.server_id=4
- SELECT @@global.server_uuid=062ad58e-59ed-11e8-a7ea-000d3a32adb2
On S2:
- SELECT @@global.server_id=6
- SELECT @@global.server_uuid=184b1c69-7868-11e8-aeab-000d3a321333