I recently updated this blog from the WordPress control panel. All it takes to update is a single mouse click.
This action was ill-advised, uniformed, and generally ignorant. First, I did not follow the advice in the upgrade dialog that urged me to back up my content. Second, when the update finished, none of my posts were available. The front page of the site said something like “no posts matched your search criteria.” And it has been like that for about a week. Today I decided to get to the bottom of the issue. I was alarmed because the Yahoo control panel indicated that my database was using zero MB and had never been backed up.
Calling Yahoo support did not help much. I’ll leave out the details, but the nice technical person on the other end of the call basically said that WordPress-related issues, database-related issues, and other pertinent issues were out of Yahoo’s scope of support. In short, they supply the rope, and you do the hanging (and I deserved to hang for not having taken precautions to understand just what I was doing).
How did we resolve this issue?
I installed phpMyAdmin through the Yahoo control interface. This was immediately reassuring because it claimed that my blog’s database had 21 tables in it, and the table overview showed that most of them had data.
The “wp_posts” table, however, was marked as “in use”, and issuing queries (such as `DESCRIBE wp_posts;’) returned an error:
Can’t open file: ‘wp_posts.MYI’ (errno: 145)
This forum web page helped tremendously. It seems like during the upgrade, some process belonging to the previous PHP code or some process belonging to the upgrade PHP code failed to detach itself from using the table. The table was thus locked, and no other processes (including new requests from the new PHP code to display posts) could read or write the table.
Fortunately, phpMyAdmin contains two options: “check table” and “repair table.” Issuing the first SQL command confirmed that the table was ‘marked as crashed’ and that ’1 client is using or hasn’t closed the table properly.’ After coming back to the view of the tables, the wp_posts table was no longer marked as in use. I then issued the repair command. Within five minutes, post content was visible on the site.
Whew.