At a glance
| Supported databases | MySQL Server in InnoDB Cluster and ClusterSet topologies; Router 26.10 supports MySQL 8.4, 9.7 and 26.10 |
| Pooling modes | Connection pool with connection sharing (off by default; enabled per route with connection_sharing) |
| Routing and read/write splitting | Separate read-write and read-only routes, or automatic read/write splitting (access_mode=auto, classic protocol only) |
| Load balancing and failover | Routing strategies such as round-robin across secondaries; follows primary changes from cluster metadata |
| Authentication and TLS | Clients authenticate as MySQL users; TLS configuration documented; Kerberos not supported |
| Release model | Single version line since 26.7 (July 2026); 8.4 and 9.7 Router series discontinued |
| Deployment | Packages for Linux, Windows and macOS, Docker images, or source; usually one Router next to each application host |
| Licensing | GPL v2 Community release, free; commercial licence via MySQL Enterprise Edition |
If you run MySQL InnoDB Cluster or ClusterSet, MySQL Router is the default way for applications to follow the primary: it reads the cluster metadata, so failovers and switchovers need no application or DNS change. It is free under GPL v2 and now does read/write splitting and connection reuse, but it is built around Oracle's cluster metadata rather than arbitrary replication setups or other database engines.
Overview
MySQL Router is the routing piece of MySQL InnoDB Cluster, alongside Group Replication and MySQL Shell. You usually bootstrap it against a cluster, which writes a configuration whose destinations point at the cluster metadata (metadata-cache://). Router then sends read-write connections to the current primary and read-only connections to secondaries or read replicas, and follows topology changes. For InnoDB ClusterSet, each Router can follow whichever cluster is primary or be pinned to a named cluster with MySQL Shell's setRoutingOption() (target_cluster).
Since 8.0.29 Router has a connection pool, and since 8.0.32 connection sharing returns idle server connections to the pool for other clients. Read/write splitting needs access_mode=auto, connection_sharing=1, the classic protocol and a metadata-cache destination with role PRIMARY_AND_SECONDARY; bootstrap creates such a route on port 6450 by default. Sessions can override the decision with ROUTER SET access_mode or query attributes. Versioning changed in 2026: after 8.4 and 9.x, Router 26.7 and 26.10 form one release line compatible with MySQL 8.4, 9.7 and 26.x servers.
Key features
- Metadata-cache routing that follows the InnoDB Cluster primary through failover and switchover
- InnoDB ClusterSet support with routing to the primary cluster or a pinned target cluster
- Read/write splitting on a single port (6450 by default) with per-session overrides
- Connection pool (8.0.29) and connection sharing and reuse (8.0.32)
- Read replica support for routing read-only traffic
- Routing guidelines managed from MySQL Shell (9.x and later)
- REST API for monitoring Router state
Integrations and ecosystem
Pros and cons
Pros
- Free and maintained by the MySQL team, and the standard router for InnoDB Cluster
- Bootstrapping from the cluster removes most manual configuration
- Follows failovers and ClusterSet switchovers without DNS or application changes
- Now includes read/write splitting and connection reuse
Cons
- Built around InnoDB Cluster metadata; other MySQL topologies, MariaDB and PostgreSQL are not its target
- Read/write splitting needs connection sharing and the classic protocol, and session state is reset on change_user or reset_connection
- No query rules for rewriting, caching or blocking statements
- Router version must not be older than the server series it routes to
Pricing
The Community release of MySQL Router is free under GPL v2, like MySQL Community Server. A commercial release is covered by Oracle's MySQL commercial licences, and the MySQL Enterprise Edition page lists Router among its components; Oracle publishes no price on mysql.com and directs buyers to MySQL Sales. Router itself has no separate charge.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
MySQL teams running InnoDB Cluster or ClusterSet who want the supported, free way for applications to reach the primary and replicas.
Typical use cases
- Connecting applications to an InnoDB Cluster so failovers are transparent
- Sending reads to secondaries or read replicas and writes to the primary
- Pinning a regional application to a replica cluster in an InnoDB ClusterSet
- Reducing server connection counts through connection sharing
Who should look elsewhere
- Teams with classic replication, Galera or Aurora that need rule-based routing: see ProxySQL.
- MariaDB Enterprise estates: see MariaDB MaxScale.
Verdict
MySQL Router is the right default for InnoDB Cluster and ClusterSet: it is free, bootstraps from the cluster and handles failover routing with little configuration. Teams that need query-level control, caching or support for other topologies usually add or choose ProxySQL instead.
Frequently asked questions
Is MySQL Router free?
Yes. The Community release is GPL v2 and free. Oracle also offers it under commercial licences as part of MySQL Enterprise Edition, priced through MySQL Sales.
Which MySQL Router version should I use?
The latest one. Since 26.7 (July 2026) Router has a single release line, the 8.4 and 9.7 Router series are discontinued, and Router 26.10 supports MySQL Server 8.4, 9.7 and 26.10. An older Router series cannot route to a newer server series.
Does MySQL Router split reads and writes?
Yes, with access_mode=auto, connection_sharing=1, the classic protocol and a metadata-cache destination with role PRIMARY_AND_SECONDARY. Bootstrap creates such a route on port 6450 unless you pass --disable-rw-split.
MySQL Router or ProxySQL?
Router is Oracle's component for InnoDB Cluster and ClusterSet and reads their metadata directly. ProxySQL is a GPL v3 general-purpose proxy with query rules, caching and support for many MySQL topologies and PostgreSQL; ProxySQL 4.0.12 also has a MySQL Router compatibility plugin for InnoDB Cluster.
Sources
- MySQL Router 26.10 manual
- MySQL Router release notes
- MySQL Router: read/write splitting configuration
- MySQL Router: general information and version compatibility
- MySQL Shell 26.7: integrating MySQL Router with InnoDB ClusterSet
- MySQL Enterprise Edition
- MySQL server licence (GPL v2)
Checked November 2026.
Listed in: Database Proxy & Connection Pooling.
How we research reviews and what star ratings mean: our editorial method.