The latest MySQL 8.0 release is out. That is MySQL 8.0.18. We have some new replication enhancements and some work done on replication internals in this release that we would like to highlight and celebrate with our users. Here is a quick summary. Enjoy.
Enhancements
- New fencing mode for Group Replication: OFFLINE_MODE. In Group Replication the user can choose between different automatic fencing policies for group members. As of MySQL 8.0.17, members could shutdown or turn themselves into read only instances when they leave the group unintentionally. This behavior is governed by the system variable: group_replication_exit_state_action. Now, with MySQL 8.0.18, and thanks to Nuno Carvalho’s work, there is an option to instruct members to set themselves to OFFLINE_MODE if they leave the group involuntarily. In practice, this means that when a member leaves the group unintentionally it shall close all connections and disallow new ones from users who do not have the CONNECTION_ADMIN or SUPER privilege.
- TLS 1.3 support for Group Communication System (GCS/XCom). The underlying layer of the Group Replication plugin is the group communication framework (GCS) and at its core is XCom. Starting on MySQL 8.0.18, and due to the work done by Tiago Jorge, this communication infrastructure now supports TLS 1.3 with OpenSSL 1.1.1.
- Replication with privilege checks. With MySQL 8.0.18, the MySQL DBA/operator can now define a user under which the replication applier threads will operate and therefore do privilege checking. Pedro Figueiredo, Neha Kumari, Abhinav Agarwal and Pedro Gomes have made these changes that make it possible to further restrict with more granularity the effects on a server that is consuming changes coming in through a replication channel.
Internals
- Group Delivery Message Service. Anibal Pinto has created a new and generic internal service that establishes an API to send and receive messages to and from the group. Therefore, other modules inside the server can engage this functionality as well, not just the group replication plugin.
Now, in addition to these enhancements, there are also a few other things worth mentioning, like deprecations. I will leave that to a follow up blog post. In the meantime, have fun getting to know, playing with and use the new replication enhancements in MySQL 8.0.18. As usual, feedback is always appreciated. If you have some, either comment on this blog post, submit a feature request or even a bug.
Cheers!