I was working on a server today that was not hooked up to our usual monitoring systems for one reason or another and I needed to generate a database tuning report. Typically I use Matthew Montgomery’s ‘tuning-primer.sh’ script for this since it’s command line based, simple to use, and generates a number of useful items for tuning recommendations. It’s a great starting point before delving into the deeper aspects of MySQL and the OS.

I ran into an issue with it on this server that was running the MySQL 5.0.77-percona-highperf-b13-log x86_64 build. The error was:
./tuning-primer.sh.1: line 517: 5.000000: syntax error in expression (error token is ".000000")

There were three options to fix this issue

  1. Dive into the code and modify it cowboy style
  2. Use our typical monitoring against the client’s wishes
  3. Contact the developer to get a fix

I hopped on IRC.freenode.net to the #mysql channel and found Matthew online. Long story short he narrowed it down to the version of MySQL being from Percona that was changing the format of the variable in question vs the typical MySQL variable type. After discussing the matter he released a new build to address this change and I was on my way to generating reports again.That is quality support that you won’t see from the likes of Microsoft or Apple or any big closed-source player.

If there’s on thing to take away from this story it’s the Open Source Software will ALWAYS be better than closed source because of the hands on attitude and direct contact you can get with the developers or, at the minimum, with the large user community that is willing and able to help troubleshoot. Why are people able to help? Because the code is open and free – and people like free software that they can improve and fix themselves – and those people like to help others because we’ve all needed help at some point or another, no matter how much of an expert you are.

If there are two things to take away it’s to remember that IRC is a wealth of useful information and support for Open Source applications. You can find me on the #mysql, ##php, #perl, #extjs, and #codeigniter channels under various usernames – or idling in the #kontrollbase channel for supporting my own application.

Closed source apps are the old way to do business, the rotting steel skeletons from the industrial age of computing… Open Source is the brainy kid down the street that doesn’t want to rip you off for something that some nameless big corporation designed overseas for pennies on the dollar just to turn a profit and sell you something with crappy support and non-auditable code. Long live OSS!