【问题标题】:How To Determine How Much Data Left In The Log如何确定日志中剩余的数据量
【发布时间】:2010-11-04 15:04:54
【问题描述】:

我使用 MySQL 设置了 2 台服务器。它使用标准复制设置,只有一个从属设备,没有循环复制。

有没有办法以编程方式告诉从机在从二进制日志中读取数据时落后了多远?

如果我运行语句:

SHOW MASTER STATUS;

在master上运行

SHOW SLAVE STATUS;

在slave上,我可以比较master状态的Position列和slave状态的Read_Master_Log_Pos列,以确定slave落后了多远。

但是,这仅在从站正在读取与主站写入相同的文件时才有效。所以如果slave仍然在读取之前的日志文件,因为它在后面运行,我无法弄清楚如何确定还剩下多少数据,直到它赶上master所在的当前位置。仅使用 SQL 的解决方案将是最佳的,但我对其他解决方案持开放态度。希望不需要读取包含日志文件的目录。

【问题讨论】:

    标签: mysql replication monitoring


    【解决方案1】:

    我喜欢使用 SHOW SLAVE STATUS 中的“Seconds_behind_master”字段来确定 MASTER-SLAVE 服务器是否被赶上。作为二级警卫,我还对两台服务器上的特定表(即经常更新的表)进行 COUNT(*) 查询,然后比较记录数。

    【讨论】:

      猜你喜欢
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多