What I Learned Upgrading to WordPress 2.9

by on December 22, 2009 · 95 comments

WordPress 2.9 was released a couple of days ago. I read about all the cool new features and said to myself – “hey, I need that version!” so I used my favorite WordPress Automatic Upgrade plug-in to upgrade my primary blog to WP 2.9.

I got almost all the way to the end of the upgrade process, where it told me a “CLICK HERE TO COMPLETE THE FINAL STEP.” When I clicked OK I was rewarded with this nice little message: “ERROR: WordPress 2.9 requires MySQL 4.1.2 or higher”

Apparently, my blog was running a version earlier than that. So now all my files are upgraded to WP 2.9, but my database is not compatible. Now what!?

Damage Control

My blog is officially offline.

I use BlueHost and 1and1 for my WordPress hosting. I primarily use BlueHost now because they’ve got the whole WordPress install and upgrade process dialed in, but this blog was hosted on 1and1. I looked at their help to see how to upgrade my database, and a quick check told me that I had to do a lot of stuff to make that happen.

Luckily, I did perform the backups that are recommended as part of the upgrade process with the plug-in. So I took my backup files and copied them over my the WP 2.9 files that had just been copied into my blog directory. My blog was now restored to a state where it was displaying posts, but the editing controls in the WordPress Admin panel were not working.

Upgrading MySQL Database

So I was faced with the task of upgrading MySQL to 4.1.2 or higher. The instructions from 1and1 were:

1) Export your existing database using phpMyAdmin
2) Create a new MySQL 5 database
3) Import your database file into your new database using phpMyAdmin
4) Update your wp-config.php with the new database info

Ok, I think I can handle this.

So I went into the 1and1 control panel and created a new MySQL 5 database. Then I exported my existing database:

Then I imported it into my new MySQL 5 Database:

This seems easy enough. But wait:

Access Denied.


Ok. Keep calm. What the __ do I do next?

Well, after trying it a few more times and realizing I wan’t getting anywhere, I called 1and1 support. The support guy had to keep putting me on hold, but eventually he told me that I needed to delete a couple of lines at the beginning of the MySQL back up file.

These lines specified the old database name, which was causing the permissions error.

Ok, now that’s cool, but my SQL backup file is 4.6mb, and I see that the max file size on the import screen is:

(Max: 2,048KB)


What I ended up doing is opening the SQL backup file in a text editor, copying the entire text from the file, and pasting it into the box on the import screen.

I was rewarded with a box that said my import was successful.

Finally… Upgrade Success

I then went and put WordPress into maintenance mode, updated the wp-config.php file with my new database settings, took it out of maintenance mode and verified everything was working fine.

Tip: You can put WordPress into maintenance mode by creating a file in your WordPress directory called .maintenance with the following code in it: <?php $upgrading = time(); ?> to take it out of maintenance mode, just rename or delete the file.

Now when I went through the WordPress Automatic Upgrade process, the WordPress 2.9 upgrade went smoothly.

Man, that was a hassle! I wish WP Automatic Upgrade would have told me up front that my database wasn’t compatible with WordPress 2.9. It would have saved me a lot of last minute panic.

Anyway, I wanted to share this in case anyone else has a similar problem and does a panicked Google search looking for a solution!

Article by »

Don is an entrepreneur based in Silicon Valley. He founded Expand2Web and is the publisher of the Expand2Web Blog, and the GetFiveStars Customer Feedback and Reviews service.

Don has written 313 articles on Expand2Web

Author Connect » Twitter | | Facebook |

See my disclosure about advertising and affiliate links

{ 4 comments… read them below or add one }

Marcus January 20, 2012 at 5:13 pm

Anyone out there? This article has been hugely helpful and I really appreciate Don’s willingness to share. I’ve followed all the steps carefully and finally got a “Success” from the PHPMyAdmin. (I did follow Marly’s advice, as well, and updated the new host name in the header in addition to deleting the old db’s info.)

However, everytime I’ve tried these steps, I do the final wp-config file update, refresh my site in the browser, and I’m greeted with a brand-spanking new WP Install screen (…url.com/wp-admin/install.php). Just like it was the first time I was installing WP.

Has this happened to anyone else? Is there an easy answer that I obviously am missing?
Thanks in advance.


Don Campbell January 20, 2012 at 6:03 pm

Is your wp-config.php pointing to your new database? It sounds like there might be a problem there.


Marcus January 20, 2012 at 6:33 pm

Thanks a bunch for replying so quickly.
Re: wp-configThat’s what I’ve thought. But I’ve checked it over and over and everything is good. So frustrating. I’ve lined up my old (MySQL 4) and new (5) wp-config.php files side by side to compare just to make sure that I didn’t leave traces of old in the new. Everything is clean and should be fine. And I definitely changed the hostname, even though WP says, “99% chance you won’t need to change this value.”

As a test, I’ve gone into my root folder and re-uploaded my original wp-config.php file and, not surprisingly, my old site is back. I’ve then gone back to the new config file (renaming the old one, then, renaming the new one to the proper “wp-config.php”) and still no dice.

It’s weird as the file s are identical save for all the DB info changes.



JT January 8, 2013 at 1:02 am

Thank you so much for this useful guide. I’m so glad I stumbled upon it in my search on how to upgrade to WordPress 3.5 (MySQL 4.1 to 5.0).


Leave a Comment

Previous post:

Next post: