Error number: MY-011031; Symbol: ER_PER_CHANNEL_RPL_FILTER_CONF_FOR_GRP_RPL; SQLSTATE: HY000
Message: There are per-channel replication filter(s) configured for group replication channel ‘%s’ which is disallowed. The filter(s) have been discarded.
Error number: MY-011031; Symbol: ER_PER_CHANNEL_RPL_FILTER_CONF_FOR_GRP_RPL; SQLSTATE: HY000
错误说明
MY-011031 Symbol: ER_PER_CHANNEL_RPL_FILTER_CONF_FOR_GRP_RPL;表示MySQL中的一个错误,这意味着无法将通道的复制过滤器配置用于群组复制,也就是说复制过滤器无法应用到组复制中,可能是SQL语句执行错误引起的。
常见案例
1.当运行复制相关SQL语句时将会出现这个错误,此时MySQL不允许将通道的复制过滤器配置用于群组复制。
2.当使用MySQL GRP复制功能中的一些实体时报告MY-011031。比如在组复制中使用MasterInfo,RelayLogInfo的实体,或者使用channel_name,channel_mts_submode,channel_mts_parallel_type等实体时,可能会报该错误。
解决方法
1.使用set语句来解决SQL语句的执行错误。
2.在使用GRP复制的实体的时候,相关的sql语句被拒绝,此时可以使用global内容来进行执行,或者修改sql语句来使其更加满足GRP复制模式。通过修改全局变量master_info_repository和relay_log_info_repository,来解决masterinfo和relayloginfo这两个实体时的报错问题。
3.如果是使用channel_name,channel_mts_submode,channel_mts_parallel_type等实体时所出现的异常,此时可以尝试调整GA级别,直接替换单独的复制配置或者使用全局变量replication_group_management_filter。
4.也可以尝试将复制过滤器应用到单个实例的复制中,可以通过修改replicate_do_table,replicate_ignore_table,replicate_check_table和replicate_checksum_table中的MySQL配置来完成。同时还需要在组复制主要成员的MySQL实例中将这一配置添加到sql_slave_skip_counter变量中。