MySQL Forums
Forum List  »  Announcements

MySQL Router 8.0.22 for MySQL Server 8.0 and 5.7 has been released
Posted by: Bjørn Munch
Date: October 19, 2020 08:10AM

Dear MySQL users,

MySQL Router 8.0.22 is a new release for MySQL Router 8.0 series.

MySQL Router 8.0 is highly recommended for use with MySQL Server 8.0 and 5.7.
Please upgrade to MySQL Router 8.0.22.

The MySQL Router is a new building block for high availability solutions
based on MySQL InnoDB clusters.

By taking advantage of the new Group Replication technology, and
combined with the MySQL Shell, InnoDB clusters provide an integrated
solution for high availability and scalability for InnoDB based MySQL
databases, that does not require advanced MySQL expertise.

The deployment of applications with high availability requirements is
greatly simplified by MySQL Router. MySQL client connections are
transparently routed to online members of a InnoDB cluster, with MySQL
server outages and cluster reconfigurations being automatically handled
by the Router.

To download MySQL Router 8.0.22, see the "General Availability (GA)
Releases" tab at Package
binaries are available for several platforms and also as a source code

Documentation for MySQL Router can be found at


Changes in MySQL Router 8.0.22 (2020-10-19)

     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed

     * Improved building mechanism by implementing CMake's
       GenerateExportHeader() functionality for the MySQL
       Protocol library; which previously was hard coded. (Bug

     * The strict 1:1 thread-to-connection ratio was replaced by
       an event-driven + IO-threadpool design. Instead of
       running blocking socket operations in a thread,
       non-blocking IO is now used and a thread may be used when
       a socket is available. This raises the concurrent
       connection limit by a Router instance from around 5,000
       to around 50,000.
       This also adds a new [io] configuration section with two
       new configuration options: backend that handles async
       operations (accepts poll or linux_epoll) and threads as
       the number of IO threads to handles connections (0 for
       all available, or 1-1024).

     * The bootstrap process now configures REST API
       functionality into the generated mysqlrouter.conf
       configuration file. The new optional --https-port
       bootstrap argument defines port; which is defined as 8443
       by default.
       To disable the REST API configuration from being
       generated, pass in the new --disable-rest bootstrap

     * Added systemd notify support. If there is a NOTIFY_SOCKET
       environment variable set when the Router starts, Router
       treats its value as unix-domain socket name; DGRAM on all
       unix-based operating systems and as a named pipe path on

Bugs Fixed

     * When using the recently introduced _hidden instance
       feature, hiding secondary instances with
       _disconnect_existing_sessions_when_hidden enabled would
       close all secondary instances rather than only hidden
       instances. This issue only applied when using host names
       instead of IP addresses. (Bug #31665764)

     * Refactored acceptor-shutdown synchronization to avoid
       possible hangs. (Bug #31598112)

     * Improved Router's metadata cache refresh mechanism to
       account for race conditions; such as a refresh request
       made while the metadata is currently refreshing. (Bug

     * Improved the round-robin routing strategy quarantine
       check mechanism. (Bug #31575084)

     * Added support for the net_buffer_length routing option.
       Previously it was accepted but ignored in favor of the
       default value. (Bug #31575027)

     * Added link-local IPv6 address support. Previously values
       containing a '%' sign failed with an 'invalid address'
       error. (Bug #31574975)

     * Replaced all occurrences of 'master' in the context of
       the node role with 'primary'. (Bug #31508256)

     * On Windows, added socket write support to emulate it by
       adding an AF_INET variant of socketpair(). (Bug

     * When Router loses the primary it waits for the failover
       with a 10 second timeout. Previously it did not check for
       terminate requests, so could take up to 10 seconds if the
       new primary was not found until Router honored the
       shutdown request. (Bug #31397127)

     * Hostname detection resolved IP addresses of external
       network interfaces using code specific to Linux that
       operated directly with c-style type cases. Improved
       portability using type safe network-address types from
       net::ip::tcp::address and ::network thus making it
       portable for Windows, Solaris, FreebBSD, and macOS. (Bug

Options: ReplyQuote

Written By
MySQL Router 8.0.22 for MySQL Server 8.0 and 5.7 has been released
October 19, 2020 08:10AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.