A Bloggers Worst Nightmare ...
Four tables in the database that drives my blog was corrupted sometime on Wednesday of last week. And I did not have a backup. This is my THS ...
I use Yahoo! Small Business to host my Moveable Type (MT) blog. For the past year and a half I have not had any problems at all. In fact, it worked so well that I did not even know that Moveable Type was storing my entries in a MySQL database. Looking back, clearly I should have taken the time to understand how MT works, but I didn't really think it was all that important. I am paying Yahoo! to keep an eye on that stuff - or that's what I thought I was paying for. I mean check out the second bullet point under Reliable and secure hosting ...
Wednesday, July 23rd
I get an email from a nice guy named John who lets me know that he received some errors when trying to post a comment to my blog. Here are the error messages:
- Load of blog '1' failed: Loading data failed with SQL error Can't open file: 'mt_blog.MYI' (errno: 145)
- Can't call method "allow_unreg_comments" on an undefined value at /blog-mt/lib/MT/App/Comments.pm line 263.
So I went Yahoo!'s online help desk and opened a help desk ticket explaining to them what the issue was. 12 hours after I opened the ticket, I received the following response (see below). Ummm ... are they really asking for the url, user name and passwords? I sent Jamie a response asking him to please look up this information himself since they are the ones that have it on file.
Thursday, July 24th
Well, by 5:00 PM the following day Jamie still hasn't got back to me. Over the course of Thursday I sent 3 more follow-up emails to Jamie (it says in his email 'Please do not hesitate to reply ...') but I don't get a reply. So when I get home from work I make a call to Yahoo! tech support. The automated operator tells me that ...
The current wait time is over 30 minutes - Yahoo! Help Support
'Over 30 minutes' - could you be a little more exact? Turns out that I ended up waiting on hold for over 1 and 1/2 hours. Finally I got someone on the line to help. And here is how that conversation went ...
Me: My blog isn't letting people post comments. I opened a help desk ticket, but I am having trouble getting a response
Yahoo!: Sorry, we don't handle MT support.
Me: It looks like a MySQL problem. Can you please log into the MySQL database and see if you see anything wrong?
Yahoo!: You have four tables that are corrupted. You will need to drop and re-create these tables. If you had a backup I could restore these for you.
Me: I didn't even know until yesterday that MT used a database
Yahoo!: Here are some urls for the MySQL and MT online forums
Me: That's it? What am I paying you for?
Yahoo!: Sorry, we don't handle MT support.
Needless to say that made me really mad.
Friday, July 25th
Jamie finally gets back to. Here is what he has to say ... It turns out they don't actually support any of the products they are selling.
Saturday, July 26th
So I put my frustrations aside for a few minutes and planned my attack for getting my blog up and running again. The only table that was corrupted that was of any real significance was the one that stored all of the comments people have left. And I have all of those comments already published and out on mattberseth.com, so I wrote a series of real small console applications to accomplish the following tasks ...
- Go out to mattberseth.com and download all of the individual entry pages. Save a local copy of these html files.
- Rip through these files and extract the comments section
- Rip through each of the comments.xml files and rebuild the information stored in MT comments table: author, date, content, url, etc ... Use this information to construct the MySQL insert script that will insert these values back into the MT comment table
- Combine these .sql files into the maximum file size the MySQL admin tool accepts
Is it Yahoo's problem for not backing up my database for me? Or was I the moron for not looking into the MT internals and ensuring the database is backup on a scheduled interval? I don't know, I can see an argument both ways. Either way their support was terrible and the way they promote their services is misleading.
If you run a blog, do yourself a favor and make sure you have a backup plan in place. Do it now!
That's it. Enjoy!