My job sent me to a class on scaling, optimizing and troubleshooting MySQL this week. I’ve been digging around a bit on some test databases at work, but of course as someone running a self-hosted WordPress blog, I had another MySQL server to practice on right here — one with real-world data and (admittedly low) load, but where I was only accountable to myself if I messed anything up.

Unfortunately, DreamHost’s MySQL VPS doesn’t give you much control over the server, and of course when you’re working with a third-party application, there’s only so much you can change the database without breaking compatibility. But I found some interesting surprises:

1: Everything was using the older MyISAM engine, because DreamHost is running an older version of MySQL that uses it as the default. Switching to the newer InnoDB (and back) is simple and safe enough that I figured it was worth a try.

2: There was a lot of junk left over from old plugins that I haven’t used in years. Continue reading

Finally upgraded this server to the latest MySQL 5.0 from the ancient, ancient MySQL 3.23 that RHEL3 still uses. Also turned on WP-Cache 2 since Bad Behavior is supposed to work with it now. (Though I’m a bit concerned about the Encrypted Payload feature in Spam Karma.)

If anything seems broken, comment about it here. If you can’t comment, email me at webmaster at this domain name.