What’s the recommended MySQL version?Baron Schwartz
I see this message on our forums, and I think it’s a great question: “Which version of Percona Server is currently recommended?” It’s really the same question as “Which version of MySQL is currently recommended?” I’ll respond here and then post a link in the forum as a reply.
In my opinion, it’s important to qualify this question by understanding whether we’re talking about an existing MySQL installation, or a new one. The answer is different for each case. (There are other qualifying questions I’d ask too, but this is the biggest distinguisher).
For an existing MySQL database server, I’d encourage not jumping on a new version immediately when it comes out. Let some early adopters try it out first, and when it gets more broad deployment, then consider it. The reason I say this is that the previous version is going to be maintained quite actively for some time. You can continue to run the previous version safely and responsibly. A major upgrade should really be about features, not bug fixes or security patches; those critical fixes should be applied to the previous version. So if you’re not dying from the lack of a new feature that’s available in the new version, then there shouldn’t really be urgent pressure to upgrade.
For new deployments, I’d definitely start by using the most recent version from the very beginning, or maybe even using a release candidate of the next version if it’s available, especially if the new deployment isn’t in production yet. The reason is that I like to keep the upgrade cycle as long as possible, and if you’re going to production with something established or old, you’re going to have to look at an upgrade sooner. You might as well develop the application to the new or upcoming version in the first place. A properly tested upgrade is a fair amount of work, and it’s nothing to jump into. Sometimes I even try to skip a version if I can. A fair number of our customers are still running MySQL 5.0 and are now considering or executing upgrades to MySQL 5.5.
So what’s the bottom line?
- For new applications, I’ve said use MySQL 5.5 without hesitation for many months now, and now I’d even say use MySQL 5.6.
- For older applications running MySQL 5.0, I’d say upgrade to 5.5 directly, skipping over 5.1. MySQL 5.0 is really old now, and although Percona still supports it and will as long as we’re asked to, the reality is it’s slow, limited, and buggy in comparison with 5.5. Everyone on 5.0 just needs to be upgrading, even super-conservative companies.
- For applications running MySQL 5.1, you can safely keep doing it for a while if you are very conservative, but you really need to be thinking about when you’re going to leave 5.1 for something newer. And if you’re relatively agile and don’t need a lengthy process (weeks or months) to upgrade, you should be thinking about upgrading in the near future. At this point, MySQL 5.1 is starting to get old, and MySQL 5.5’s new releases have just minor fixes for edge-case problems, not major reworking as we saw in the 5.0 and 5.1 series.
That was a long bottom line. Here’s a short one: upgrade to 5.5 or 5.6, or plan to do it in the near future.