MySQL 8.0.17 is out. In addition to fixing a few bugs here and there, we also have a couple of new replication features that I would like to present. Thence, allow me to give you a quick summary. As usual, there shall be follow-up blog posts providing details, so stay tuned.
List of replication features in MySQL 8.0.17:
- Enhanced Group Replication distributed recovery with automated instance cloning. The bulk of the work was a joint venture between Debarun Banerjee (who has done a great job implementing the core building block – the clone plugin) and Pedro Gomes (who has done a great job as well implementing the automation and integration of this new technology within the group replication distributed recovery procedure). With this work, adding a new server to a cluster no longer requires that you to manually and offline pre-provision it with a snapshot of the data from one of the ONLINE members in the cluster. You can add the new server and during distributed recovery it will automatically clone one of the existing members in the group for you. Moreover, if a server happens to be out of the group for a while, when it gets back, depending on how far behind it is, it will either automatically decide whether cloning is necessary or if recovery can proceed immediately to resume from binary logs instead. All of this without the need for external backup tools or manual intervention, provided that the group replication plugin is properly installed.
- Enhanced cross-version inter-operability for Group Replication. Jaideep Karande has changed group replication so that it will better handle replication and inter-operability between server versions. Given that MySQL 8 has been delivering new features after it was declared GA, group replication automation needs to deal with this fact. Therefore, the automation framework was extended with infrastructure to ensure optimal compatibility and performance in a more graceful way.
- Encryption of conditional and temporary, on-disk, binary log capture cache. Daogang Qu, has extended the binary log at rest encryption support to cover those cases where the binary log caches would temporarily swap to disk if the data captured is too large for a given transaction. Therefore, after 8.0.17, in the event that the size of the data collected exceeds the in-memory buffer size reserved for the captured transaction, and thus the cache spills over to disk, the transaction data shall be encrypted before it hits the disk.
- Protocol compression support for mysqlbinlog. Luís Soares has added an option to mysqlbinlog so that the user can instruct it to request protocol compression (on-the-wire) when fetching binary logs from a remote server.
There you go. A very nice list of replication features that add to the amazing set delivered so far to MySQL 8.0. Also, I would like to highlight the clone support for Group Replication. This is a major enhancement to the Group Replication and InnoDB Cluster story.
Feedback is always appreciated. If you have some, either comment on this blog post, submit a feature request or even a bug.