首页 > 解决方案 > MySQL 复制中的主机 IP 更改

问题描述

我们有 MySQL 服务器及其在另一台机器上运行的复制。Master和slave都在MySQL 5.6上运行,现在计划更新master和slave机器的IP。我们计划在复制中使用以下查询。

STOP SLAVE ;
CHANGE MASTER TO MASTER_HOST = '1.2.3.4', MASTER_LOG_FILE = 'abc.123', MASTER_LOG_POS = '1234';
START SLAVE;

有人可以确认上述方法是否真的正确,并且在更新主控主机 ip 进行复制时需要足够的信息。

提前致谢。

标签: mysqldatabase-replication

解决方案


这看起来是一种合理的方法,但是关于您的环境有很多我不知道的细节,所以我不知道您展示的步骤是否就是您需要做的全部。

在更改复制配置之前,我会在副本机器上运行 mysql 客户端,以使用新的 IP 地址连接到主服务器。

例子:

$ mysql -h 1.2.3.4 -u <repluser> -p'<replpassword>'

使用您用于副本的repluserreplpassword连接到主服务器。

这将测试副本机器是否可以连接(即有一个有效的网络路由,没有防火墙阻止,用户和密码是否正确等)。

然后在mysql客户端shell中,验证repluser是否有REPLICATION SLAVE权限,验证master的二进制日志坐标是否符合你的期望。

mysql> show grants;
mysql> show master;

推荐阅读