Dear MySQL users,
MySQL Router 8.0.16 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.16.
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.16, see the "Generally Available (GA)
Releases" tab at http://dev.mysql.com/downloads/router. Package
binaries are available for several platforms and also as a source code
download.
Documentation for MySQL Router can be found at
http://dev.mysql.com/doc/mysql-router/en/
Enjoy!
MySQL Router 8.0.16 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.16.
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.16, see the "Generally Available (GA)
Releases" tab at http://dev.mysql.com/downloads/router. Package
binaries are available for several platforms and also as a source code
download.
Documentation for MySQL Router can be found at
http://dev.mysql.com/doc/mysql-router/en/
Enjoy!
Changes in MySQL Router 8.0.16 (2019-04-25, General Availability) * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * Before, bootstrapping would generate Read-Write (PRIMARY) and Read-Only (SECONDARY) configuration routing sections for multi-master mode, but only Read-Write sections for single-master mode. Now, both Read-Write and Read-Only sections are always generated. * Bootstrapping now sets new routing_strategy values in the generated configuration file. Read-Write (PRIMARY) sections set routing_strategy to first-available; and Read-Only (SECONDARY) sections set it to round-robin-with-fallback. Previously, they were both set to round-robin. The default behavior (for example, if routing_strategy is not defined in mysqlrouter.conf) did not change and is still round-robin. * Added ability to integrate external log-rotation applications by reopening the file-based logfile on SIGHUP. On Linux, this allows integrating the system-wide logrotate utility. * On Windows, added the ability to report events to the Windows Application Events log. * Added a new sinks configuration file option to define one or more logger sinks. For example, all level=debug messages can be sent to a file while only level=error are sent to an eventlog. The supported sinks are: consolelog, filelog, eventlog on Windows, and syslog on Unix-based systems. * An HTTP interface was added based on libevent's HTTP library. It's configured using a new [http_server] configuration section that contains the following options: + port: The TCP port listening for HTTP requests; it defaults to 8011. + bind_address: IPv4 address bound to the port; it defaults to 0.0.0.0. + static_folder: Base directory for static file requests; it's empty by default. An empty value means no static files are served. + require_realm: Name of the [http_auth_realm] instance. + ssl: The value 1 enables SSL, and 0 disables it. TLS clients supporting TLSv1.2 or later are required. + ssl_cert: File name of the certificate and its chain certifications in PEM format; required if ssl=1. + ssl_key: File name of the key in PEM format; required if ssl=1. + ssl_cipher: The cipher-spec (see openssl's 'ciphers' list). Defaults to a comma-separated list of all approved ciphers. Unknown ciphers are silently ignored. Fails if list of ciphers is empty and ssl=1. + ssl_dh_param: Read the DH parameter from this file in PEM format. Uses the dh-param from RFC 5114 by default if ssl=1. * A mysqlrouter_passwd tool was added to manage password's for the HTTP server component. Two new HTTP configuration sections were added; [http_auth_backend] and [http_auth_realm]. Both are optional, and multiple definitions are allowed. There options are: [http_auth_backend] + backend: Name of the backend implementation; it defaults to file. + filename: Name of the backend storage file, relative to the data_folder directory. [http_auth_realm] + backend: Name of the [http_auth_backend] section. + method: The HTTP authentication method; defaults to basic. + require: Requires that the user validates with the authentication backend; defaults to valid-user, which enables this check. + name: Name of the realm presented to the authentication user. * Colored text differentiation was added to MySQL Router's console output using the VT100 standard. Bugs Fixed * On Windows, building on a case-sensitive file system would not find the file named MSG000001.bin. (Bug #29278749) * It was not possible to re-boostrap Router while it was running. Instead, stopping the service beforehand was required. (Bug #29271620, Bug #94015) * The cached metadata information (state.json) would cache an empty list if all MySQL servers were shut down; and this caused restarting MySQL Router to fail. An empty list is no longer cached. (Bug #29264755, Bug #94057) * On Debian, apt-get purge and dpkg --purge now remove the /var/lib/mysqlrouter and /run/mysqlrouter directories. (Bug #29171561) * Installing from a .deb package would create an empty (and unused) log file named mysqlrouter.log in the / directory. (Bug #29170728) * Added Clang 7 support for Windows, and fixed Clang 8 warnings. (Bug #29003649, Bug #29015491) * The dynamic configuration file created during the bootstrap process was assigned the same permissions as the static configuration file, which is read-only. This meant that Router could not run as a service on Windows. The Windows Local Service user can now write to the file. (Bug #28930180) * When running on Windows as a service, Router now reports errors to the Windows Eventlog that are encountered before the Router process opens the log file. Before they were sent to the non-existent console, so the messages were lost. (Bug #28261178)