MySQL Router 8.4 Release Notes
TLS sessions from client to router and router to server can now be cached and resumed when needed. This shortens the connection handshake, saving time and resources.
The following configuration options were added:
Client TLS session cache:
client_ssl_session_cache_mode
:
Enables or disables the cache for client-router TLS
sessions.
client_ssl_session_cache_size
:
Defines the maximum number of sessions cached.
client_ssl_session_cache_timeout
:
Defines the maximum amount of time, in seconds, a
session remains in the cache. If the timeout is reached,
and the session is not reused, the session is removed
from the cache and the connection is closed.
Server TLS Session Cache:
server_ssl_session_cache_mode
:
Enables or disables the cache for router-server
sessions.
server_ssl_session_cache_size
:
Defines the maximum number of sessions cached.
server_ssl_session_cache_timeout
:
Defines the maximum amount of time, in seconds, a
session remains in the cache. If the timeout is reached,
and the session is not reused, the session is removed
from the cache and the connection is closed.
The TLS session caches are enabled by default. (WL #15573)
The status_update_frequency
changes
introduced for ClusterSets in MySQL Router 8.0.31 are extended to
apply to Clusters and ReplicaSets, but only for Metadata Schema
version 2.2.0 or higher.
See WL#15230 for more information. (WL #15599)
If MySQL Router connects to a server and the connection is refused
with a transient error, such as max-connections
reached
, MySQL Router now retries the connection after a
number of seconds defined in the new configuration option
connect_retry_timeout
.
(WL #15721)
MySQL Router supports InnoDB Cluster Read Replicas.
MySQL Router reads the values defined in the metadata field,
v2_router_options.router_options.read_only_targets
,
to retrieve routing information for read-only traffic.
v2_router_options.router_options.read_only_targets
is populated by the AdminAPI method
which sets the routing policy to one of the following values
with the cluster
.setRoutingOption()read_only_targets
option:
all
: all Read Replicas and Secondary
cluster members are used for read-only traffic.
read_replicas
: only Read Replicas are
used for read-only traffic.
secondaries
: only Secondary cluster
members are used for read-only traffic.
If read_only_targets
is not present, or set
to a value other than all
,
read_replicas
, or
secondaries
, MySQL Router defaults to
secondaries
.
A warning is logged if a value other than
all
, read_replicas
, or
secondaries
is used.
(WL #15086)
MySQL Router now supports tracing of statements as they are processed by MySQL Router from client to server and the response to the client. The trace is returned as JSON.
This enables debugging, testing, application connection comparisons, and so on.
See MySQL Router Set Trace. (WL #15582)
Deprecated ciphers were removed from the default cipher lists of
client_ssl_cipher
and
server_ssl_cipher
. Triple-DES ciphers and DSS
ciphers are no longer permitted.
(Bug #35489217)
It was not possible to run two MySQL Routers as services on the same Microsoft Windows host. (Bug #35453506)
MySQL Router failed to start if configured to use ECC certificates.
The following error was displayed: no RSA
certificate
.
(Bug #35317484)
Connections were not shared if the client enabled
CLIENT_MULTI_STATEMENTS
with
COM_SET_OPTION
.
(Bug #35263986)
SHOW WARNINGS
did not behave as
expected if connection sharing was enabled. It did not return
all the status-flags, such as autocommit
.
(Bug #35213196)
Client authentication failed if the client authenticated with a
password and a default authentication method other than
caching_sha2_password
. The error message
included: using password: NO
.
(Bug #35195287)
Connection sharing was disabled if a change-user operation occurred, resetting the user's stored password. As of this release, if a change-user operation is called, the existing connection is updated with the new credentials. (Bug #35189721)
The client's character set was not restored when their connection was restored from the connection pool. (Bug #35184765)