MySQL Error number: MY-013999; Symbol: ER_RPL_REPLICA_SOURCE_UUID_HAS_CHANGED_HOST_PORT_UNCHANGED; SQLSTATE: HY000

文档解释

Error number: MY-013999; Symbol: ER_RPL_REPLICA_SOURCE_UUID_HAS_CHANGED_HOST_PORT_UNCHANGED; SQLSTATE: HY000

Message: The server_uuid for source server ’%s:%d’ has changed from %s to %s. This should not happen unless you have changed it manually.

MySQL ER_RPL_REPLICA_SOURCE_UUID_HAS_CHANGED_HOST_PORT_UNCHANGED

错误说明

此MySQL错误ER_RPL_REPLICA_SOURCE_UUID_HAS_CHANGED_HOST_PORT_UNCHANGED显示了在运行时更改复制(REPLICA)源上的位置以外,其UUID也发生了更改。此复制源可能位于不同的主机上,但它的端口必须保持不变。通常这种错误代表着复制源在不断发生更改,这是复制延迟的主要原因。

常见案例

ER_RPL_REPLICA_SOURCE_UUID_HAS_CHANGED_HOST_PORT_UNCHANGED错误通常发生在复制源IP地址更改,或者复制源系统运行了MySQL实例重新启动或关闭(这将使UUID发生变化)。譬如:从源MySQL实例运行“FLUSH TABLES WITH READ LOCK”命令或关闭实例时,一个UUID更改将会产生真实的并发情况和其他行为问题。

解决方法

1.使用新的UUID更新相应的复制客户端的配置文件(通常位于'/etc/my.cnf’)来匹配服务器端UUID。

2.停止复制客户端进程(使用“mysqladmin stop slave”),然后重新启动复制客户端的进程(使用更新配置文件中的新UUID)(如“CHANGE MASTER TO”语句)

3.如果复制主机和从机明显是用同一台服务器上的两个不同实例,两个实例必须具有相同的UUID。因此,如果主机实例和从机实例是同一台服务器,最好只使用一个UUID,这样做将避免这样的问题。

4.可以将保留备份作为主备实例迁移的一个有效的解决方法。将现有的从机的连接UUID(作为备份UUID)复制到主机配置文件,即'/etc/my.cnf’,并将MySQL主机实例中的UUID(也称为活动UUID)复制到复制客户端的配置文件中。

5.涉及到将新的UUID更新到MySQL实例的配置文件中的操作,需要重启MySQL实例,以使更改生效。

6.如果没有因UUID变更而引起延迟,但此错误仍然出现,可以尝试重新启动复制,以避免错误发生。

你可能感兴趣的