【问题标题】:Mysql finding the updated slavemysql找到更新的slave
【发布时间】:2016-11-03 03:39:33
【问题描述】:

我已经设置了简单的 MySQL 复制:1 个主服务器和 3 个从属服务器。

在主服务器宕机之前,如何在这 3 个从属服务器中找出最新且完美同步的服务器?假设我无法访问服务器,因为它已完全损坏。

【问题讨论】:

  • 我应该了解 exec_master_log_pos 和 Read_Master_Log_Pos 之间的区别吗?

标签: mysql database-replication master-slave


【解决方案1】:

一个slave使用2个线程。 Slave_IO 线程和 Slave_SQL 线程。

Slave_IO 线程负责从 master 读取二进制 log,并将读取到的内容写入 slave 上的 relay log。

Slave_SQL 线程负责执行中继日志中的语句。

Seconds_behind_master0(我说的是SHOW SLAVE STATUS\G 的输出)时,奴隶是最新的不是,但是当

  • Relay_Master_log_fileMaster_log_file 相同,并且
  • Exec_Master_log_posRead_Master_log_pos 相同

同样,换句话说,Master_Log_FileRead_Master_Log_Pos 是从站从主站获取的内容。
Relay_Master_Log_FileExec_Master_Log_Pos 是在主“坐标”中执行的。
而且,只是为了完整性,但不是很有趣,Relay_Log_FileRelay_Log_Pos 是从中继日志执行的内容。

希望这能回答你的问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
相关资源
最近更新 更多