我的问题是我怎么能知道奴隶何时开始与主服务器复制以及从服务器何时完成复制。我想找出复制的进度。 什么时候开始,它取得了多大进展,什么时候它完成了。 有没有办法找出复制开始的时间和结束的时间? 我在xampp中使用MySQL数据库。我如何检测复制事件的开始,因为我想根据该事件执行某些操作。就像我想显示复制完成程度的进度条。提前谢谢
答案 0 :(得分:0)
复制是一个持续的过程,所以"当它开始时#34;和"何时结束"在这种情况下,真的没有意义。
您可以从Seconds behind Master
输出中的SHOW SLAVE STATUS
列中了解的内容,即主服务器当前更改了主服务器的距离。你无法预测赶上主人需要多长时间,即使主人没有产生任何进一步的变化事件,仅凭这个值,你可以从观察如何粗略猜测快Seconds behind master
随着时间的推移而下降。
特别是当使用基于STATEMENT
的复制(binlog_format=STATEMENT
)时,master之后的秒数可能会上下变化,因为复制单个语句可能需要一段时间(例如UPDATE
复杂WHERE
条件)。当语句执行时,您将看到Seconds behind Master
上升,然后在语句结束后再次,如果复制方案中没有其他事件,它可能会立即再次降至零。使用基于ROW
的复制格式,这不是一个问题......