-
The configuration option
bootstrap_server_addresses
, deprecated in MySQL Router 8.0.14, is removed in this release.If this option is present in a configuration file, MySQL Router generates an error. (WL #15867)
-
The configuration option
unreachable_destination_refresh_interval
, deprecated in MySQL Router 8.0.32, is removed in this release.If this option is present in a configuration file, MySQL Router generates an error. (WL #15869)
-
As of this release, version 1.x of MySQL InnoDB Cluster Metadata is no longer supported. It is recommended to always use the latest version of MySQL Shell and MySQL Router.
See Upgrading MySQL Router and Upgrade Metadata Schema. (WL #15868)
The
allow_primary_reads
parameter of thedestinations
URI is removed in this release. (WL #15872)The configuration option
mode
, deprecated in MySQL Router 8.0.4, is removed in this release. (WL #15877)
As of this release, MySQL Router exposes its configuration in the Cluster metadata for all routers bootstrapped against it. This information is stored as JSON in the Cluster metadata schema and can be accessed by the MySQL Shell operation,
for Cluster, ClusterSet, and ReplicaSets. (WL #15649)object
.routerOptions-
As of this release, server connections which were not explicitly closed, but remain idle longer than the defined
connection-sharing-delay
, are no longer placed in the connection pool. Instead, the connections remain open and available for use by new client connections.It is no longer necessary to enable the connection pool to enable connection sharing. Therefore
max_idle_server_connections
can be zero if connection sharing is enabled. (WL #15742)
If a hostname was not resolved, due to a DNS failure, MySQL Router did not check if that host became available again, later. (Bug #36246652)
-
MySQL Router's bootstrap process checks the
mysql.user
table for the unsupportedmysql_native_password
authentication plugin. If the bootstrap user had no access to the table, the following error was returned:Failed checking the Router account authentication plugin: Error executing MySQL query "select host, plugin from mysql.user where user = 'user'": SELECT command denied to user 'user'@'host' for table 'user' (1142)
As of this release, this error is not returned. (Bug #36225456)
-
If MySQL Router was bootstrapped without the
--account
parameter, a new metadata user was added using the following query:CREATE USER IF NOT EXISTS username@hostname IDENTIFIED BY 'password'
If the server used an authentication plugin which does not accept single-factor or password-based authentication, the account creation failed. As of this release, the
caching_sha2_password plugin
is used in this situation:CREATE USER IF NOT EXISTS username@hostname IDENTIFIED WITH `caching_sha2_password` BY 'password'
MySQL Router used
default_authentication_plugin
to determine the authentication plugin to use. This variable is now deprecated. MySQL Router usescaching_sha2_password
. (Bug #36220663, Bug #36245132) -
The following error was displayed if MySQL Router was closed before the metadata cache started:
Error: routing:_: Metadata Cache not initialized
(Bug #36151125)
-
It was not possible to connect to MySQL through MySQL Router, using the Node.js MySQL driver, if MySQL Router was running with both
client_ssl_mode
andserver_ssl_mode
disabled. Authentication failed without a useful error message.As of this release, MySQL Router returns an error explaining that the Node.js MySQL driver does not support the requested authentication protocol. (Bug #36105279)
-
If an incoming port is opened and closed by a TCP connection, such as a load balancer or a service-monitoring utility performing a health check, the connection counts towards the limit defined by
max_connect_errors
, even though the connection was not established. This could lead to MySQL Router closing the incoming port when the error limit is reached.As of this release,
max_connect_errors
is not incremented if the Router's incoming port is opened and closed without establishing a connection. (Bug #36104070) If a client sent read-only statements to a destination which was not configured as
super_read_only
, using the Read-Write splitting port, MySQL Router redirected the statement to the primary. The statement did not return the correct result. (Bug #36042078)It was not possible to build MySQL Router on 32-bit Linux platforms. (Bug #36040942)
Queries with trailing semi-colons (;) were treated as multi-statements, which is not permitted if MySQL Router is configured for Read-Write Splitting. (Bug #36036725)
-
The following error did not provide enough information for troubleshooting:
timestamp routing ERROR [code] connecting to backend failed: Connection timed out (generic:110)
As of this release, it contains the following details:
Route name and client source.
resolve()
errors.Hostname, IP addresses, and errors for each connection attempt.
The amount of time spent on the connection attempt.
(Bug #35503245)