I personally have always enjoyed the Ubuntu Developer Summits (UDS), but nowadays they have been converted to the Ubuntu Online Summits (UOS). Attending them is not always convenient (timezone issues, might be travelling, etc.) so I watched the recorded video of a session I was interested in: MySQL & Variants in 16.04.
My key takeaways
- Ubuntu 16.04 Xenial Xerus is an LTS release.
- The term “cross-grade” is used a lot (it is not about downgrading/upgrading, but being able to use MySQL or MariaDB or Percona Server interchangeably)
- It would be nice to see MySQL 5.7 in this release (for Xenial as well as Debian Stretch). From Oracle there is a new packager taking over the task (Lars)
- MySQL 5.5 is still the default in Debian, and there needs to be upgrades tested between 5.5 to 5.7 (it looks like the ideal jump is that Ubuntu will not be seeing MySQL 5.6)
- Percona Server 5.7 is 60-90 days out; xtrabackup has had some new modifications and deserves an upgrade
- Boost is a new requirement for MySQL 5.7 & Percona Server 5.7; some old TokuDB problems in the builds are likely already fixed in MariaDB Server so this can be inherited
- MariaDB is waiting to iron out the bugs in 10.0, and may stick to that
My “raw” transcribed notes
-
Attendees:
- Jon Grimm (Engineering Director for Ubuntu)
- Robie Basak (Ubuntu)
- Otto Kekäläinen (MariaDB Foundation)
- Lars Tangvald, Norvald H. Ryeng (Oracle)
- George Ormond Lorch III (Percona)
-
Robie: Waiting in Debian for a transition slot from MySQL 5.5 to MySQL 5.6. There’s some discussion with bugs, re: Akonadi, need to also resolve ABI issues with MySQL 5.6. Not really discussed MySQL 5.7 yet.
- Norvald: 5.7, changes to installation. Client library ABI cleaned up. There may be some clients breaking because of that. No more exported symbols. See: The Client Library, Part 1: The API, the Whole API and Nothing but the API & The Client Library, Part 2: The Version Number
mysql_install_db
is now replaced by --initialize
in the server, so have to rewrite the post-install scripts. Might also have some AppArmour changes. Spoke to people @ DebConf (so best place is to put AppArmour profiles upstream (i.e. in mysql) and Debian and other distros will get it from there). AppArmour profile is in the MySQL source package now. Probably can get away with doing everything as cmake variables.
- MySQL 5.7 has disabled the old password hashing algorithm, so if people haven’t upgraded they might have problems; so a manual intervention to fix their accounts.
- Going from MySQL 5.7 to MySQL 5.6? It is done by dump and restore. There is no testing automated downgrades. Are there disk format changes? Norvald is not aware of any. If you use virtual columns in 5.7, you can’t downgrade easily to 5.6.
- Robie would prefer to not release 5.6 and 5.7 concurrently. During Trusty, there was some level of user confusion. Debian – release team would prefer to see one transfer than two, so is it better to just do a single transition to 5.7?
- Norvald says there hasn’t been testing from 5.5 -> 5.7. They only support upgrades from 5.5 -> 5.6 -> 5.7. For Ubuntu the choice can be to have 5.6 and then later do 5.7, but Jessie only just released with 5.5, so Stretch with 5.6 might not be a great idea (so users migrating from Jessie to Stretch will go from 5.5 to 5.7). Could also have 5.7 depend on a stripped 5.6 binary (like the embedded server; this is for localhost and the security team shouldn’t be too annoyed) for people to do an upgrade. Norvald says this has not been tried and there needs to be a migration path tested from 5.5 -> 5.7.
- Conclusion: 5.7 in Stretch. Xenial is an LTS release, and 5.7 should be targeted for that.
- If the maintainer script fails (postinstall script fails – don’t leave apt in a weird state). If it fails then upgrades, leave a debconf critical notice to say that the service is disabled and then fix it manually. Otto says that leaving /etc in a broken state is terrible, so we should avoid it.
- Do we (Oracle) have the resources for 5.7 packaging and how soon can it be done in time for Xenial? There were patches from Lars in the git tree, but there haven’t been more recently. Lars will take over the 5.7 transition so if there is a list of work items, this will be settled (Lars will take over from Norvald).
- There will be a separate session with Norvald/Lars/Robie outside of UOS about 5.7. Defer the Boost conversation after the session as well.
- George: Percona is mainly looking out towards the 5.7 work and what kind of resources that will be put to that. There are new folk @ Percona to help with this. Percona inherits so much from the upstream codebase, it just works for Percona Server. There is Percona XtraDB Cluster and Percona xtrabackup, and xtrabackup has moved on quite a bit since the last upload (since last November 2014). So might be good idea to look at a refresh. There has also been a lot of work done on Percona XtraDB Cluster and there are some developments with Codership, so they are unsure if they will have their own Percona XtraDB Cluster 5.7 by the time Ubuntu is supposed to ship. When Percona is ready for something, just give Robie a shout to ensure that things happen. 60-90 days before a Percona Server 5.7 release. Just be aware of feature freeze for Xenial.
- Norvald mentions that Percona Server 5.7 will also depend on Boost and there needs to be a decision on this. George mentions that TokuDB is now part of Percona Server, and it has some of its own requirements as well. Do we include TokuDB? It has requirements like it will only run on 64-bit platforms. Things to figure out going forward? MariaDB has been carrying TokuDB last November, but Robie remembers disabling it in Ubuntu. George says there were some licensing issues back then but they seem to be taken care of.
- Otto says the builds for TokuDB was failing. It has a dependency on jemalloc, and that might have been the reason there were failures (says George). There may be something else where it doesn’t build on Ubuntu builders. But Otto says that there was a commit where this got fixed about last month. George will follow on, just to absorb it, since the legwork is already complete.
- Otto: Trusty has 5.5, and Jessie and all other Ubuntu releases have 10.0, and 10.1 was released last month and I’m not quite pushing it to Debian quite yet. Fix 10.0 build fixes, upstream them, then only focus on 10.1. Blocking? (last summer) 5.6 is not in testing, so could not depend on it/changes done in 5.6 mysql-common. Here’s hoping that mysql-common going forward will be generated separately.
- Robie will take an action to resolve the delta (probably just drop it). To sync MariaDB 10.0 to Xenial.
- Discussion on
/var/lib/mysql/*.flag
thing on the list — conclusion at: mailing list — goal: within a single Ubuntu release, people can “cross-grade” between MySQL variants. The goal is to support all 3, and users want to try them, and thats when the bug reports come. Robie’s goal: move to a per-variant data directory. Otto says that once directory names change, 3rd party tools might have breakage. So a working prototype. Migration path is difficult. Maybe the best is to turn /var/lib/mysql
into a symlink and store the data elsewhere. PostgreSQL does per version directories today; so studying that is going to happen.
Posted
on 9/11/2015, 6:20 pm,
by Colin Charles,
under
MariaDB,
MySQL.
Continuing on with the cloud theme, I think its worth noting that since mid-2014, Rackspace has offered MariaDB (as well as MySQL and Percona Server) in the cloud, as part of their Cloud Databases offering. It’s powered by OpenStack.
Now there is an additional “High Availability instance” being offered – this gives you up to two replicas per database instance, you have the ability to load balance reads across all replicas (pretty standard), but the cool thing to try out: failover is automatic. It’s not just that if the master fails, you get a new slave being the master; you get a replacement node being added, so as to ensure that your load keeps up with the traffic. These instances don’t cost much more (the higher the memory size, the cheaper it gets – 1.5% extra for something production ready, down to 7.7% more expensive for something to kick around the tires with)
There is also scheduled backups (daily incremental, weekly full) and you can specify the backup window.
Previously on Rackspace, you not only had to spin up a cloud database, but also a compute instance to access your databases. Now, they’re allowing you to get a public IP address, via an ACL.
In another post, I’ll go thru these services with the intention to update my deck and also share the results here. Have you tried or do you use Rackspace Cloud Databases?
Posted
on 27/10/2015, 5:39 pm,
by Colin Charles,
under
MySQL.
Recently at Percona Live Amsterdam I gave a talk titled Databases in the Hosted Cloud (I’m told I got a 4/5 rating for this talk). It was before AWS re:Invent, so obviously some of the details in the talk have changed. For one, now there is also Amazon RDS for MariaDB. But there has also been other changes, i.e. HP’s Public Cloud (HP Helion Public Cloud) will sunset January 31 2016.

That’s a slide from my deck. I basically have to caution users as to what’s going on in the cloud world when it comes to their databases. And this one slide shows news reports about HP possibly wanting to exit the cloud world back in April 2015. See: HP Comes to Terms With the Cloud, HP: We’re not leaving the public cloud, and of course the HP blog post from Bill Hilf: HP Helion Strategy to Deliver Hybrid IT Continues Strong.
The tune has of course changed in October 2015: A new model to deliver public cloud. I find this to be quite sad considering they were all very gung ho about pushing OpenStack forward several OSCONs ago. I know many people who made this happen (many ex-MySQL’ers went on to HP to work on OpenStack). I can only feel for them. I guess their important work continues in OpenStack as a whole and all this ends up being part of the HP Helion private cloud.
I think its also worth noting the improvements that Percona Server 5.5 received thanks to HPCloud to make it easier to manage in the cloud:
This pretty much leaves only Rackspace Cloud Databases as being a large OpenStack based offering of databases in the public cloud space, doesn’t it?
HPCloud offered 3 Availability Zones (AZs) per region, and had 2 regions – US-East (Virginia) and US-West. It’s worth remembering that US-West was the only place you could use the Relational DB MySQL service. You also got Percona Server 5.5. You enjoyed 50% off pricing while it was in public beta.
All this is basically over. Here’s wishing the team well, a big thanks to them for helping make MySQL better and in case you’re looking for more articles to read: H-P Winds Down Cloud-Computing Project.
Posted
on 26/10/2015, 10:57 am,
by Colin Charles,
under
MariaDB,
MySQL.
Today I received about five emails with the subject: 3 Big Announcements from MariaDB. Maybe you did as well (else, read it online). October has brought on some very interest announcements, and I think my priority for the big announcements vary a little:
- MariaDB Server is now available on Amazon RDS – you wouldn’t believe how many people ask for this, as many now deploy using Amazon Web Services (AWS), so now that it is available, I consider this to be extremely amazing. You get 10.0.17 today, and within 3-5 months of a GA, you get the next release (the docs are a work of art – read them!).
- MariaDB Server 10.1 is now a stable GA – this is a milestone. Our last stable GA came out in March 2014. There are plenty of new features and we had a developer meeting to plan what comes in 10.2 as well. Remember to read: What is MariaDB 10.1?
- New XAMPP with MariaDB – The new XAMPP does not ship with MySQL any longer but MariaDB Server 10.0.17. This is going to help distribution tremendously as many people use XAMPP as a development environment (it is after all the most popular PHP development environment out there). Remember to get your downloads for Windows/Linux/OSX.
I think the above are my highlights of 3 big announcements from the MariaDB world. What are you waiting for, download it now! And remember to report bugs/feature requests to our Jira instance.
Posted
on 24/10/2015, 10:01 pm,
by Colin Charles,
under
MariaDB,
MySQL.
The Korean MySQL Power User Group gets a special guest speaker next weekend (Oct 31 2015 – 4pm – 4:33’s offices in Gangnam – nearest train stop is Samseong station, Line 2 – post requires Cafe Naver login) – Mark Callaghan (Small Datum, @markcallaghan, and formerly High Availability MySQL). I’ve been to many of their meetups, and I think this is a great opportunity for many DBAs to learn more about how Mark helps make MySQL and MongoDB better for users at Facebook. I’m sure he’ll also talk about RocksDB.
After that, as usual, there will be a DBA Dinner. This time the tab gets picked up by OSS Korea. See you next Saturday – Halloween in Seoul will have added spice!
Posted
on 24/10/2015, 6:09 am,
by Colin Charles,
under
MariaDB,
MySQL.
Last week we had the MySQL Meetup with MariaDB Developers in Amsterdam, which went on easily for about 3.5 hours. Thanks to all for listening (these were lightning talks, not with a strict 5 minute clock with Q&A thrown in), and Daniël van Eeden for organising this at the eBay offices (whom kindly provided pizza, beer and soft drinks as well). We had many talks, and I’ve managed to put up most of the slides into a Google Drive folder, so feel free to access the bucket.
- How is the MariaDB sausage made? by Rasmus Johansson covers how MariaDB Server gets made from an engineering standpoint
- An inside look at the MariaDB restaurant by Daniel Bartholomew covers how MariaDB Server gets released
- ANALYZE for statements by Sergei Petrunia
- Data at Rest Encryption in MariaDB 10.1 by Sergei Golubchik (HTML presentation so will prompt a download for you to view in the browser)
- Cool MariaDB Plugins by Colin Charles
- Passwordless login with unix auth_socket by Otto Kekäläinen
- InnoDB in MariaDB 10.1 by Jan Lindström
- PCRE Regular Expressions in MariaDB by Alexander Barkov
- MaxScale by Massimiliano Pinto
- Overview of failover handling in the MariaDB Java Connector by Diego Dupin
- Profile Guided Optimization by Axel Schwenke
- MariaDB Server in Docker by Kolbe Kegel
- Systemd by Dan Black (there were no slides, and the work was being pushed into 10.1, so the crowd got to see svoj come up with his laptop, and Dan made the commit by hitting the Enter key. IIRC, the commit was 20c2ae39db3dd0ec4c337a9b0bd2bf4481b61e49)
- Engine Independent Table Statistics including Histograms by Sergei Petrunia
Georg Richter had prepared a presentation but decided not to give it, since we already had quite a lot of talks and discussion throughout the sessions. If you’re interested in MariaDB Connectors, the presentation is worth a read.
Thanks again to Daniël van Eeden and Jean-François Gagné whom really helped get this stuff going.
P/S: for some pictures, I live tweeted them: