Replication

Mysql Slave聲稱正在執行但沒有出現新記錄並且沒有延遲

  • September 22, 2018

我創建了一個新的 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 正在使用或未正確關閉。

這是有道理的,它是目前文件。我查看0000100002查看我錯過的查詢是否在這些文件中的任何一個中,但我找不到它們。

當執行同時也是主節點的中間複製時,log-slave-updates需要啟用以確保上游主節點複製到下游從節點。

引用自:https://dba.stackexchange.com/questions/218270