Error number: 4065; Symbol: ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY; SQLSTATE: HY000
Message: GTID_ONLY cannot be enabled for replication channel ‘%s’. You need GTID_MODE = ON, SOURCE_AUTO_POSITION = 1 and REQUIRE_ROW_FORMAT = 1.
错误说明:
ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY是MySQL的一个错误代码,通常代表在更改复制源时没有为GTID模式下的复制操作指定任何选项。此错误消息代码是一个定制MySQL错误,使用库文件在5.7版本开始被引入,但是从MySQL 8.0开始它一直被使用。
当复制在MySQL的GTID模式下运行时,MySQL会显示ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY错误。这意味着你使用GTID更改复制来源时没有为复制操作指定任何选项,通常是USER或PASSWORD。
解决方法:
要解决ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY错误,你需要指定USER和PASSWORD选项来更改复制来源。一种处理这个错误的方法是使用CHANGE MASTER TO语句更改复制源,如下所示:
CHANGE MASTER TO MASTER_HOST = ‘hostname’, MASTER_USER = ‘username’, MASTER_PASSWORD = ‘password’ FOR CHANNEL ‘channel_name’;
另一种处理这个错误的方法是使用MySQL隔离复制系统变量的SET会话命令重新配置复制来源,作为下面的例子:
SET GLOBAL gtid_slave_pos=’hostname:port’;
有一些使用复制源变量来重新指定复制来源的其他方法,可以帮助你解决ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY错误。有关更多信息,请参阅MySQL文档。