This section summarizes many of the new features added to MySQL Router 8.0, in relation to MySQL Router 2.1.
Version Numbering
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.
New Features and Changes
-
The optional
routing_strategy
configuration option was added. The available values arefirst-available
,next-available
,round-robin
, andround-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
andread_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 operating 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
andthreads
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.
Additional Changes
For complete list of all changes introduced in MySQL Router 8.0, see the MySQL Router 8.0 Release Notes