MySQL 5.1 Is Out, Now What?

For those who missed the (non) announcement, MySQL quietly (it’s not actually listed under the news section of the main website) pushed 5.1 into GA status over the holiday weekend. In theory, this should resolve an issue a lot of us have had over the past 6 months or so, which was trying to decide which version of MySQL was most appropriate for clients to be using. I know I have often run into client running MySQL 5.0, whom I have though an upgrade to 5.1 would be beneficial; either the are performance improvements, new features, or changes to the tool set that make working with 5.1 somewhat easier. Not to mention that 5.0 has generally gotten a little long in the tooth, enough so that it is actually supported only in maintenance mode at this point. So what’s the problem with 5.1? Well, I am always hesitant to recommend running beta level software when it comes to a database platform, and MySQL 5.1 certainly has had enough bugs in it that it seems it could bite you for being too ahead of the curve (even as an RC). Which brings us back to MySQL 5.1 being released as GA. To be honest I was a little surprised that it was GA’d so soon. I had heard rumblings that it would be marked GA in December, which I thought was a little aggressive (I thought they might be able to work out the more serious issues by end of 1Q 2009), but to have it get marked GA before December is very surprising. And, a little concerning. Granted I’m always a little paranoid when it comes to MySQL, but the 5.1 GA release does little to ease my fears. I’ve been tracking a number of issues that I thought were important, but if you want a really good summary of the issues to watch out for, Monty really has summed it up best. The list of issues and relative seriousness of bugs he raises (far beyond what I was keeping track of) make me think that now is still not the time to start upgrading to 5.1. Still, if you read through Monty’s post (and I strongly recommend it), he raises one good argument for MySQL 5.1, which is that if you do run into bugs, you can report them and in theory there is an expectation that they should be fixed. I think this means that for new projects just starting out, MySQL 5.1 is probably the way to go (well, for projects where MySQL is a requirement anyway, and personally I’d revisit that first), because any bugs you hit will (hopefully) be while you are in development, so they aren’t as likely to be as damaging. For existing sites the picture is far less clear. Personally I’m inclined to stick with 5.0 for now, though I’d be curious to hear others reasoning if they are going to begin upgrading right away.