{"record":{"id":"4a1369a4b4639d76","repo":"vitessio/vitess","slug":"mysql-cluster-type-not-yet-supported","errorCode":null,"errorMessage":"mysql cluster type not yet supported","messagePattern":"mysql cluster type not yet supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"go/vt/vtctl/vtctl.go","lineNumber":3897,"sourceCode":"\t\tcase *show:\n\t\t\tvci, err := wr.TopoServer().GetExternalVitessCluster(ctx, clusterName)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif vci == nil {\n\t\t\t\treturn fmt.Errorf(\"there is no vitess cluster named %s\", clusterName)\n\t\t\t}\n\t\t\tdata, err := json.Marshal(vci)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\twr.Logger().Printf(\"%s\\n\", string(data))\n\t\t\treturn nil\n\t\tdefault:\n\t\t\treturn wr.MountExternalVitessCluster(ctx, clusterName, *topoType, *topoServer, *topoRoot)\n\t\t}\n\tcase \"mysql\":\n\t\treturn errors.New(\"mysql cluster type not yet supported\")\n\tdefault:\n\t\treturn errors.New(\"cluster type can be only one of vitess or mysql\")\n\t}\n}\n\nfunc commandGenerateShardRanges(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag.FlagSet, args []string) error {\n\tnumShards := subFlags.Int(\"num_shards\", 2, \"Number of shards to generate shard ranges for.\")\n\n\tif err := subFlags.Parse(args); err != nil {\n\t\treturn err\n\t}\n\n\tshardRanges, err := key.GenerateShardRanges(*numShards, 0)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn printJSON(wr.Logger(), shardRanges)","sourceCodeStart":3879,"sourceCodeEnd":3915,"githubUrl":"https://github.com/vitessio/vitess/blob/01a25a7d176f94613b8d59d799f438380a8760e4/go/vt/vtctl/vtctl.go#L3879-L3915","documentation":"This error is returned by the vtctl Mount command handler when the user requests mounting an external cluster of type \"mysql\". Mounting a foreign MySQL cluster (non-Vitess) is not implemented yet; only \"vitess\" cluster type is supported, so the mysql case is an explicit placeholder rejection.","triggerScenarios":"Running `vtctl Mount --type mysql ...` (command MountExternal... via commandMountExternalVitessCluster) where the cluster type flag/value resolves to \"mysql\" in the switch statement at go/vt/vtctl/vtctl.go:3896.","commonSituations":"Operators trying to register an external plain MySQL cluster (e.g. for VReplication migration from a non-Vitess MySQL) assuming mysql type is supported; documentation/tutorial mismatches across Vitess versions.","solutions":["Use cluster type \"vitess\" if the external cluster is actually another Vitess deployment","Migrate from external MySQL using the supported workflow (e.g. MoveTables with an external MySQL via vreplication \"external\" setups) instead of Mount with mysql type","Upgrade Vitess to a version where mysql cluster mounting may be implemented, or contribute/implement support","Check `vtctl Mount --help` for currently supported --type values"],"exampleFix":"// before\nvtctl Mount --type mysql --topo_type etcd2 ... ext1\n// after\nvtctl Mount --type vitess --topo_type etcd2 --topo_server ... --topo_root /vitess/ext1 ext1","handlingStrategy":"validation","validationCode":"clusterType := *topoTypeFlag\nif clusterType == \"mysql\" {\n    return fmt.Errorf(\"mysql cluster mounting unsupported in this Vitess version\")\n}","typeGuard":"func isSupportedClusterType(t string) bool { return t == \"vitess\" }","tryCatchPattern":"if err := wr.MountExternalVitessCluster(ctx, name, tt, ts, tr); err != nil {\n    if strings.Contains(err.Error(), \"not yet supported\") {\n        log.Warn(\"mysql cluster type unsupported; use vitess type\")\n    }\n    return err\n}","preventionTips":["Always check `vtctl Mount --help` for supported --type values before scripting","Pin and read the Vitess version's docs for external cluster mounting support","Gate mysql-type mounts behind a version check in automation"],"tags":["vtctl","topology","unsupported-feature"],"backgroundTag":"unsupported-cluster-type","analyzedSha":"01a25a7d176f94613b8d59d799f438380a8760e4","analyzedAt":"2026-09-01T17:28:30.605Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}