我们即将将数据库服务器复制到不同物理位置的多个从属服务器中。
为我们进行复制的公司要求在我们的一个表上为他们提供一条 sql select 语句,以检查延迟和延迟,例如
SELECT id FROM table1 ORDER BY id DESC LIMIT 1
检查多个实例之间的滞后是一种常见的做法吗?
先感谢您。
对我来说,他们想要检查主从之间的滞后似乎是明智的。这是我们在这里监视的关键事情之一,好像从站开始落后可能是问题的迹象,它也降低了它们对读取/备份等的有用性。
最简单的方法是让它们SHOW SLAVE STATUS
在从站上运行并查看SECONDS_BEHIND_MASTER
值(假设是主站>从站,而不是主站>从站>从站等)
或者,如果您想限制他们的访问权限,请创建一个包含单个日期时间字段的表。每 X 秒创建一个事件以使用当前时间更新它,然后在从属设备上授予它们SELECT
对该表的访问权限。然后他们可以将当前时间与表中的时间进行比较。(当您有多个级别的从属数据库时很有用)。