Updating the beta Compose for MySQL


TL;DR - The new beta deployments have better backups alongside trigger and user privilege support and an updated MySQL.

Compose is pleased to announce an update to the still-in-beta Compose for MySQL to MySQL 5.7.19. We are often asked what happens with Compose's beta releases. One thing, in particular, that happens is we find important issues from real workloads and look to solve them and that's what this update is all about.

Better backups

The first change is one you can't see but do rely on. We've switched our backup system to Percona XtraBackup. Our backup system for most Compose databases is done at the file system level. Although MySQL worked well with that initially, real life workloads showed it could be disruptive to the nodes and the overall reliability of the cluster.

So we looked for a backup system for MySQL which fitted with the Compose platform and decided on XtraBackup. We've made sure that older backups can still be restored on new databases so it should be smooth sailing as we swap backup methods.

More privileges

The next change is aimed at the more practical database administrator. We've unlocked the restrictions we put on the admin user over creating new users, which we allowed, and granting them privileges (which we didn't). We hoped to make that work for users, but it turns out the best way to make it work is to let the admin user grant privileges. So that's what we have done.

Of course, these new powers come with the Spiderman caveat - with great privileges comes great responsibility. As we allow users to do more we hope they will use these new options with care and precision.

Trigger and event ready

The third big change in this new version is how we handle triggers – non-super-users on the new Compose for MySQL can now create database triggers to automate and animate their transactions. Triggers are intensely valuable, but we initially believed that it should remain a super-user tool as we'd witnessed some edge case interactions between triggers and replication. That position was, in retrospect, too strict and we've recanted on it now as users have shown us how much they rely on triggers with their daily workloads.

There's more. In a fourth change, we have enabled the event scheduler which allows CREATE EVENT to have an effect – namely running events. If you haven't come across it, it is like a cron that runs inside your database, configured from SQL. Users will need to be granted the EVENT privilege to make this go... which is another reason we've opened up the privilege system.

And more

Finally, we should mention that that MySQL 5.7.19 received many, many fixes to the group replication system which should help with overall stability of MySQL deployments and we've made changes to replication backlog handling that should complement the updates enhancements well.

As a beta database to update MySQL to 5.7.19, we are not offering the in-place version updates. To move to 5.7.19, perform an on-demand backup and, when the backup is complete, select the "Restore from backup" button next to that backup. You'll then be prompted to select a name, location, and version for your new MySQL deployment. Click Create Deployment when done and the rest of the process is automatic. Once you are happy your new MySQL database is functional, you can de-provision your old MySQL database.

We hope you enjoy the enhanced Compose for MySQL experience. We're ready for your queries.

If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at articles@compose.com. We're happy to hear from you.

attribution Jeremy Ricketts

Dj Walker-Morgan
Dj Walker-Morgan is Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.