在部署一个只读实例,测试的时候,设置了延时6个小时,启动起来看到情况如下,show slave status\G中关于延时相关的值:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 123
Master_UUID: xxxxxx-xxxx-11eb-9a26-xxxxxxxxx
Master_Info_File: mysql.slave_master_info
SQL_Delay: 22600
SQL_Remaining_Delay: 4110
Slave_SQL_Running_State: Waiting until MASTER_DELAY seconds after master executed event
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
SQL_Delay这个值是准确的,6个小时是22600,但是Seconds_Behind_Master这个参数确实0,并不像我预料中的是22600,理论上,设置好延时复制后,Seconds_Behind_Master的值不应该是0而是延迟6个小时的值。

本文详细探讨了MySQL只读实例设置延迟复制后,Seconds_Behind_Master、SQL_Delay和SQL_Remaining_Delay参数的理解。在启动时,由于延迟时间未完全达到,Seconds_Behind_Master显示为0,而SQL_Remaining_Delay则逐渐减小,直至达到预设延迟。通过监控 Slave_SQL_Running_State,可以观察到延迟复制的进程。最终,在延迟时间过后,Seconds_Behind_Master显示出正确的延迟值。
最低0.47元/天 解锁文章
682

被折叠的 条评论
为什么被折叠?



