MySQL Router 8.0
This section summarizes many of the new features added to MySQL Router 8.0, in relation to MySQL Router 2.1.
MySQL Router 8.0.3 is the first 8.0.x release to use the new numbering, and is the successor to MySQL Router 2.1.4.
This guide is not updated with every MySQL Router 8.0 release; see the MySQL Router 8.0 release notes for updated information.
MySQL Connectors and other MySQL client tools and applications now synchronize the first digit of their version number with the (highest) MySQL server version they support. This change makes it easy and intuitive to decide which client version to use for which server version. Similarly, MySQL Router now uses the same version number as MySQL Server.
The optional
routing_strategy
configuration option was added. The available values are
first-available
,
next-available
,
round-robin
, and
round-robin-with-fallback
.
Previously, these strategies were described as scheduling modes
by the mode
configuration option where the
read-write mode defaults to the first-available strategy, and
the read-only mode defaults to the round-robin strategy. This
preserves previous behavior for these modes.
The --ssl-key
and
--ssl-cert
optional
bootstrap command-line options were added. They directly use
their MySQL client's counterparts, and specify the client-side
certificate and private key to facilitate client-side
authentication. This is useful when the root account used during
bootstrap was created with REQUIRE X509, which requires the
client to authenticate itself when logging in.
The new
connect_timeout
and
read_timeout
metadata configuration file options were added. These are
defined under the [DEFAULT] namespace and affect internal
operations, such as metadata server connections.
Bootstrap now accepts any member of an InnoDB cluster and automatically finds and reconnects to a writable primary. Before, only the primary was accepted.
Bootstrap now accepts the
--config
option and reads
the [logger] level
option's definition.
The maximum number of concurrent client connections was increased from about 500 to over 5000, a limit now dependent on the operation system. To achieve this, select()-based fd event calls were replaced by poll() (or WSAPoll() on Windows).
MySQL Router 8.0.22 increased this limit to about 50,000; see the
[IO]
backend
and
threads
configuration options for details.
A new mysqlrouter_plugin_info utility was added to help debug MySQL Router plugins. It provides information such as the plugin version, description, ABI version, requirements, and function pointers.
For complete list of all changes introduced in MySQL Router 8.0, see the MySQL Router 8.0 Release Notes