Summary
Add --topology=innodb-cluster to deploy a full InnoDB Cluster stack: Group Replication + MySQL Shell + MySQL Router.
Motivation
InnoDB Cluster is the standard MySQL high-availability solution. dbdeployer already supports group replication as a topology, but doesn't orchestrate the full InnoDB Cluster stack (MySQL Shell for cluster management, MySQL Router for connection routing).
Requirements
- New topology:
dbdeployer deploy replication <version> --topology=innodb-cluster
- MySQL Shell integration for cluster bootstrap (
mysqlsh creates the cluster)
--mysqlsh-path flag to specify MySQL Shell binary location
- Dedicated templates for InnoDB Cluster initialization (8.4+ compatible)
check_nodes_cluster monitoring script
- Requires MySQL 8.4+ (InnoDB Cluster is mature from 8.0 but 8.4 is the LTS target)
Implementation Notes
- New file:
sandbox/innodb_cluster.go
- New templates:
sandbox/templates/cluster/
- New topology type in
globals/globals.go
- MySQL Shell needs to be available (either in PATH or via
--mysqlsh-path)
- Should work with
--with-proxysql (ProxySQL in front of InnoDB Cluster)
Summary
Add
--topology=innodb-clusterto deploy a full InnoDB Cluster stack: Group Replication + MySQL Shell + MySQL Router.Motivation
InnoDB Cluster is the standard MySQL high-availability solution. dbdeployer already supports group replication as a topology, but doesn't orchestrate the full InnoDB Cluster stack (MySQL Shell for cluster management, MySQL Router for connection routing).
Requirements
dbdeployer deploy replication <version> --topology=innodb-clustermysqlshcreates the cluster)--mysqlsh-pathflag to specify MySQL Shell binary locationcheck_nodes_clustermonitoring scriptImplementation Notes
sandbox/innodb_cluster.gosandbox/templates/cluster/globals/globals.go--mysqlsh-path)--with-proxysql(ProxySQL in front of InnoDB Cluster)