Like a lot of other people, I came across a problem when trying to automatically upgrade my blogs to WordPress 2.9. My web host is 1and1 and the database that I had my blog in was a MySQL 4 database, specifically 4.0.27. The problem is, WordPress 2.9 needs 4.1.2 or 5 (I know its in the requirements, but I didn’t read them I just hit ‘upgrade automatically’). After finding this post by Don Campbell, What I Learned Upgrading to WordPress 2.9, I knew my best option was to change my database to a MySQL 5 one. Unfortunately, although I have two databases available to me on my hosting package, but I was using both and both were MySQL 4.
I checked all the applications I had using the database (PhpGedView, Gallery and phpBB) to confirm they were all able to work with MySQL 5, and found they were. That’s a good start! I already knew WordPress was OK, so I set about exporting the tables for each of my blogs and applications to file ready to import into another database. The tables for Firestats were the largest and a couple of them had to be exported individually, otherwise phpAdmin choked.
Once I had all the tables, I started by importing the tables for one of my test blogs back into my other MySQL 4 database as a temporary measure. Modifying the wp-config.php file for the blog with the credentials for that database changed the blog to using the other database. I repeated for each of my WordPress blogs. Uploading a couple of the Firestats tables was painful; I had to copy and paste sections of the exported data, which was in the format of insert commands, the entire table was too big to import in one go. Eventually the blogs and statistics were completed and working on the other database. The same exercise was done for the Gallery tables and the config.php file was modified to point to the alternate database. The tables for PhpGedView were imported and then by logging in to the admin functions the database could be changed (set the config.php file back to read only once finished). phpBB was similar with the config.php file being modified. I then changed the password on the original database and made sure everything still worked; I was sure nothing was using it, but wanted to be doubley sure before deleting it. Once I knew it wasn’t used, I deleted the MySQL 4 database and created a MySQL 5 database in its place.
Rinse and repeat! The tables for my test blog that I had just moved to the temporary database were imported to the new MySQL 5 database and the wp-config.php file modified with the new credentials. The test blog worked! Yes, looking good!
After this I tried again to upgrade my test blog to 2.9, it went successfully then I got an error when trying to go to the dashboard. On examination it was a message about the WeatherIcon plugin, so I renamed the plugin and got back into the dashboard. After googling WeatherIcon and WordPress 2.9, I came across Fixing WeatherIcon plugin for WordPress 2.9-rare (alpha nightlies) which gave me the fix needed to get the plugin working again.
While checking out all the functions, I found that I was unable to logon to Firestats from within WordPress 2.9. I could put my username and password into the login box and press the login button, but the button didn’t seem to do anything. I am running Firestats in satellite mode, which means that I only have one upload of the application rather than one per blog. My other blogs using the MySQL database were able to login to Firestats without any problem, so it was either a WordPress 2.9 or MySQL 5 issue. I migrated the tables from another test blog onto the new database and confirmed that it was still able to log into Firestats. OK, looking like a Firestats and WordPress 2.9 problem. I could monitor Firestats by logging onto my stats site and accessing all sites data from there, including the WordPress 2.9 blog. The WordPress 2.9 blog is still updating the database with its hits since the upgrade. I logged a ticket on the Firestats site and Omry responded quickly(, although I only saw it yesterday). Testing on a clean WordPress install with only Firestats had shown Firestats to work fine, so maybe it was another of my plugins causing the problem and I should try disabling plugins.
So, yesterday I tried disabling all plugins on my test blog except Firestats and sure enough it was fine. OK, on to the plugins. I started enabling them one by one (and closing the browser so that it forced the logon to Firestats each time) and ran into the problem when I enabled WordPress Database Backup. That wasn’t looking good, I consider that to be a key plugin. Then I had a thought and disabled a couple of the ‘working’ plugins and then re-enabled WordPress Database Backup, it worked, hmm something strange going on here. It had turned out to be the number of plugins I was running, or more accurately the amount of memory they used. I use shared hosting on 1and1 and they restrict php memory limit to 20MB. I must have been close to the limit on WordPress 2.8; WordPress 2.9 uses about 0.85MB more and so pushed me over the limit. By turning off one of the less critical plugins to reduce the memory usage, it is now working fine.
All my blogs have now been migrated to WordPress 2.9 and seem to be working fine.