MySQL Error number: MY-013107; Symbol: ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013107; Symbol: ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; SQLSTATE: HY000
Message: The member is configured with a lower_case_table_names option value ‘%u’ different from the group ‘%u’. The member will now exit the group. If there is existing data on member, it may be incompatible with group if it was created with a lower_case_table_names value different from the group.
MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000 错误
MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000错误是MySQL家族的一种的报错,通常在使用GROUP REPLICATION时出现。此错误表示连接到GROUP REPLICATION组的某个成员的表名不匹配组中其它成员的表名,这将引起节点的连接失败。
常见案例
常见案例
• 在不同的操作系统上使用GROUP REPLICATION时,会出现这种情况。光标存储引擎被安装在组中的不同成员上。
• 由于不同的Unicode字符集和排序,创建相同表时会出现MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000。
• 在GROUP REPLICATION联机备份和传输组中的部分数据时,也有可能出现MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000。
• 由于MySQL版本不同(从5.5到5.7),从组中某些成员到另外一些成员的表名也会不同,从而导致出现MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000。
解决方法
要解决MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000错误,最简单的方法是按照以下步骤进行:
• 首先,停止GROUP REPLICATION和MySQL服务。
• 在MySQL服务上设置环境变量“lower_case_table_names”的值,确保组中的所有成员都一样,特别是在不同的操作系统会出现较大差异的情况下,也可以确保组中的所有成员都是完全一样的。
• 如果是由于MySQL版本的原因导致表名不同,请备份您的数据并将所有MySQL实例升级到相同的版本,以确保表名最终相同。
• 确保MySQL实例中编码格式和排序方式相同,这样可以避免出现不同的表名。
• 将GROUP REPLICATION和MySQL服务重新启动,确保GROUP REPLICATION组中的每个成员都可以正常运行。
• 如果问题还没有解决,可以用临时脚本解决,包括脚本结构以及一般使用语句,使用它来映射表名,这可能会使表结构一致。
• 使用“CHECK TABLE”选项检查所有的表,确保结构相同,更新所有的表,以确保它们也是一样的。
• 最后,启动GROUP REPLICATION并测试组的正常工作,检查是否还有一些表或记录未被正确传输到组中的每个成员。
将上述步骤按照正确的顺序按照可以有效地解决MY-013107; ER_GRP_RPL_LOWER_CASE_TABLE_NAMES_DIFF_FROM_GRP; HY000的错误。