我试图弄清楚当复制设置中的主数据库 IP 发生变化时,mysql 8 中需要发生什么(我的 ISP 只是随机更改了我的 IP)。
我找到了这篇文章:
但它似乎谈论 pre-8 命令,也没有用(有一些错误)。
似乎适用的命令是:
> STOP SLAVE
> SHOW REPLICA STATUS\G
> CHANGE REPLICATION SOURCE TO ...
> START SLAVE
但我只是不知道我应该在“CHANGE REPLICATION SOURCE”cmd 中更改什么,特别是考虑到上一篇文章提到这个 bin 日志文件和 master_log_pos。我认为只需更改 IP 就足够了,但是......
顺便说一句,我们现在更喜欢说“来源”而不是“大师”。旧命令在 MySQL 8.0 中仍然有效,但它们正在被淘汰,因此开始使用新命令是个好主意。
如果源 IP 地址是唯一发生变化的内容,那么您不必更改二进制日志文件或位置。如果您在副本实例上运行该语句
STOP REPLICA
,那么该语句将恰好在您发出该语句时副本所在的二进制日志位置处暂停。然后在您使用的副本实例上将
CHANGE REPLICATION SOURCE TO SOURCE_HOST='...'
其设置为源实例的主机名或 IP 地址。执行此操作以重新配置复制后,在副本实例上运行
START REPLICA
。它会从中断的地方继续。