Replication
Mysql Slave聲稱正在執行但沒有出現新記錄並且沒有延遲
我創建了一個新的 mysql master 和一個 slave。我的主人也是另一個正在執行的實例的奴隸。這兩者之間的複制工作正常,所以我不相信我的問題存在。
我從主伺服器創建了一個轉儲,
master-data=1
然後將轉儲發送到從伺服器並創建了它< file.sql
。如果我跑show slave status
了,我會回來(粗略地,簡化了 MVCE,如果需要更多,請指定):Slave_IO_State: Waiting for master to send event Master_Host: master_ip Master_User: replicant_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 120 Relay_Log_File: ip-slave_ip-relay-bin.000004 Relay_Log_Pos: 283 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Exec_Master_Log_Pos: 120 Relay_Log_Space: 512 Master_Server_Id: 2222 Master_UUID: f2c7d7a1-bb6c-11e8-a3b1-02e34d38ec08 Master_Info_File: /var/lib/mysql/master.info Seconds_Behind_Master: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Master_Retry_Count: 86400
那麼如果我
show master status
在主人身上做,我會回來:File: mysql-bin.000003 Position: 120
看起來正確,位置和文件匹配。然後,如果我查看我的使用者:
select userid, username from users order by userid desc limit 30;
我在我的主人和主人主人上獲得了 28 條記錄(主人主人和主人的計數和值匹配),所以儘管
Slave_SQL_Running: Yes
.這怎麼可能?我想我做錯了什麼,但是什麼,我應該去哪裡看?
我看著
mysql-bin.000003
但是說:警告:此 binlog 正在使用或未正確關閉。
這是有道理的,它是目前文件。我查看
00001
並00002
查看我錯過的查詢是否在這些文件中的任何一個中,但我找不到它們。
當執行同時也是主節點的中間複製時,
log-slave-updates
需要啟用以確保上游主節點複製到下游從節點。