3

关于 MySQL Master-Slave-Slave 设置的快速问题:

我目前有一个主从设置,我想添加另一个从属。是否有可能克隆运行从属服务器的服务器,然后使用来自从属服务器的映像启动一个新服务器,并让它从中断的地方继续运行?那么无论复制时的 binlog 是什么,它都会一直运行直到赶上主控?

理想情况下 - 我正在尝试启动另一个连接到主服务器的从服务器,而无需关闭主服务器进行备份。任何建议或指导都会很棒。谢谢!

4

4 回答 4

4

是的,您可以关闭从属实例,并将其所有数据复制到另一个从属实例(包括日志)。
不要忘记my.cnf在第二个从服务器上进行编辑(您应该更改server-id
然后启动两个从服务器

于 2012-08-15T16:06:09.430 回答
2

是的,这是可能的。最好的方法可能是暂时暂停从服务器上的复制,确定主二进制日志位置信息,然后在复制仍然暂停时从副本进行转储(并且副本上没有其他数据正在更改)。转储完成后,您可以重新启动副本。

在新服务器上,只需安装转储,设置 binlog 坐标并启动复制。不过要注意一点。确保清除主服务器上的二进制日志的设置将允许保留二进制日志足够长的时间,以便您执行此设置过程并在清除 bin 日志之前赶上新的从服务器。

于 2012-08-15T16:05:59.307 回答
0

这是一个关于如何为主服务器设置多个复制从属的很好的教程: http ://arcib.dowling.edu/cgi-bin/info2html?%28mysql%29replication-howto

它没有解释你的场景,但给出了重要的提示:你必须为你的第二个从属分配一个唯一的服务器 ID。

关于您的问题:如果您的 master 二进制日志保留足够长的时间,您应该不会遇到麻烦。只需关闭您的从站片刻,将其克隆并记下:从站的 MASTER_LOG_FILE 和 MASTER_LOG_POS;然后重新启动原始从站并正确设置第二个从站:这意味着在 my.cnf 中设置了给定的 MASTER_LOG_POS 和 *_FILE 以及唯一的服务器 ID;

然后启动你的第二个奴隶。使用“START SLAVE”开始复制,然后查看“SHOW SLAVE STATUS;”

问候,斯特凡

PS:不能保证这会起作用,但我确定它应该这样做。

于 2012-08-15T16:12:20.223 回答
0

您可以使用现有的 mysql slave 新建一个,只需执行以下步骤,

  1. 停止从属服务器上的复制。
  2. 执行show slave status;并记下这些值Master_Log_File: master-bin.000002& Read_Master_Log_Pos: 1307
  3. 在新的 mysql 从服务器上获取mysqldump并恢复它,您可以my.cnf从现有的 mysql 从服务器复制文件并更改server-id.
  4. 在新的从服务器上执行change master to命令,提供 mysql 主服务器的详细信息以及我们从现有 mysql 从服务器获得的日志文件名和日志位置。
  5. start slave;在现有的 mysql slave 上执行。
  6. 验证从属状态运行show slave status

就是这样,你有一个新的 mysql 从服务器!

祝你好运 !

于 2016-03-24T07:31:33.407 回答