MySQL Error number: MY-011680; Symbol: ER_GRP_RPL_MASTER_INFO_REPO_MUST_BE_TABLE; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011680; Symbol: ER_GRP_RPL_MASTER_INFO_REPO_MUST_BE_TABLE; SQLSTATE: HY000
Message: Master info repository must be set to TABLE.
错误说明:
MY-011680 是 MySQL 的一个错误代码,对应的 SQLSTATE 为 HY000,错误消息为 ER_GRP_RPL_MASTER_INFO_REPO_MUST_BE_TABLE。这个错误原意是给出了 MySQL Group Replication 集群节点之间共享 master 信息的库必须是表,而不能是视图或存储过程。
常见案例
这种错误可能发生在当用户尝试启动 MySQL GroupReplication 集群时,共享 master 信息库使用的不是表,而是视图或存储过程。当用户尝试通过 MySQL 运行 CHANGE MASTER TO,为集群中的 master 信息库指定的不是表,而是视图或存储过程,这时可能会收到这个错误。
解决方法:
可以使用 MySQL 允许的合法表和列名。用户可以用 SHOW CREATE TABLE 命令检查共享 master 信息库使用的表是否和其他表命名规则匹配,然后再用 ALTER DATABASE 命令修改共享 master 信息库的合法表名。
另外,用户也可以像修改普通表一样,来修改共享 master 信息库上的表名,使它们符合 MySQL 的要求。用户可以使用 CREATE TABLE 命令在共享 master 信息库上重建一张表,然后复制它的结构,并在 CHANGE MASTER TO 命令中指定它的表名。一旦重建表完成,用户可以将其他表的数据复制到新表上。
此外,用户还可以检查共享 master 信息库上使用的字段,以确保它们符合 MySQL 规范,并在 CHANGE MASTER 语句中省略列名,以限制使用给定表上的全部列。