MySQL Router Release Notes
Published to labs.mysql.com as part of the MySQL InnoDB Cluster 5.7.17 Preview 2 bundle.
A
--user
command line option was added to define the user to run Router
as. This option is required if Router is bootstrapped or started
as a super user, such as root. This option is also defined as
user
under the [DEFAULT]
namespace. This option is not available on Windows.
In addition, the packaging scripts (Debian and RPM packages) now create a Router-specific system user named mysqlrouter that Router runs as by default. This account does not have shell access, and its home directory points to the directory where the default Router configuration file is stored. Previously, the user named mysql was used by default. (Bug #25070949)
No quorum did not cause the connections to be blocked. (Bug #25134206)
The --help
text referred to a nonexistent
option named "--master-key-path", instead of
"--master-key-file".
(Bug #25074305)
After dissolving a MySQL InnoDB cluster that was bootstrapped, bootstrapping to the old primary server and port would not function. (Bug #25069674)
On Linux, the default keyring_path
path
included /var/run
, but because some Linux
distributions mount /var/run/
to
tmpfs
, this definition was lost when the host
was restarted. Now, /var/lib/
is used on most
systems.
(Bug #25045182)
An existing configuration file with a missing [metadata_cache] section (including empty files) would cause --bootstrap to fail. (Bug #25045119)
Having multiple metadata_cache
definitions
(with different section keys) would cause Router to unexpectedly
exit. This error is now handled, and Router is closed with an
error message.
(Bug #24962552)
Routing to the default destination port for the x protocol (33060) did not function for standalone routing. (Bug #24955339)
X-Protocol routing treated errors from the server as handshake failures, which caused each invalid authentication request to increment the connect error counter. Now, it behaves like the classic protocol, so during the handshake when the server sends an error to the client (even if it Access Denied error), this is not considered a failed handshake. This is also how MySQL Server behaves. (Bug #24911725)
Metadata cache section's did not allow the optional section keys definitions. (Bug #24909259)
After performing a successful --bootstrap
operation, immediately executing a second and failed bootstrap
operation (against a different URI) could cause Router to not
connect to the metadata cache for the first bootstrap
configuration due to internal changes made by the second.
(Bug #24902404)
--bootstrap
now sets
bind_address=0.0.0.0
for each route in the
generated Router configuration file, when before it did not set
it and relied upon the bind_address
default
value of 127.0.0.1. In addition, the
--conf-bind-address
command
line option was added to modify the
bind_address
value set by bootstrap.
(Bug #24846715)
Bootstrapping router with the
--conf-use-sockets
option was not defining
the socket
option in the generated
configuration file.
(Bug #24842143)
After bootstrapping Router with the
--conf-skip-tcp
--conf-use-sockets
options, neither MySQL
Shell or the MySQL client could connect to Router.
(Bug #24841281)
The keyring plugin is only loaded if either configured, or if there is a password involved in the configuration. Previously, Router would always load the plugin and then prompt for a password. (Bug #24840690)
The --name
option is now
optional.
(Bug #24807941)
Configuring the router for using more than one routing rule with UNIX domain sockets and no TCP ports would fail with a "duplicate IP or name found" configuration error. This made it impossible to configure R/W splitting using Unix sockets. (Bug #24799417)
Fixed compilation related warnings. (Bug #24701344)
Router was not able to connect (function) after stopping group replication on the primary node. This affected both read-only and read-write routing sections. (Bug #24659690)
Error logging for metadata connections and routed client connections were improved to be more descriptive, and they were changed to warnings instead of debug messages. (Bug #22010817)