WordPress の投稿・固定ページが全て消えた!?:解決

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

この記事を書いた背景

本日、会社の定例会で WordPress 記事を見せようとしたところ、全ての投稿・固定ページが全て消えてしまっていました。

いや、焦りましたよ。
例の○リポップなどのサーバーでインストールされた WordPress のクラッキング事件とあまりにもタイミングが近かったもので。

もしかして、弊社の安全と考えていた対策は無駄だったのか!?とか色々考えを巡らせてしまいました・・

しかし、クラッキング事件の現象は特になく、改竄等の現象も確認できず。

サーバーにログインして色々確認をしてみました。

原因

今回の原因は、データベースの破損でした。

WordPress のデータって、履歴管理などのためにかなりガッツリとデータ領域を利用するのですが、何かのタイミング(ここまだ検証中)で破損してしまったようでした。

復旧の方法

で、今回の場合、この破損に対する復旧方法は2つありました。

1つめは、データベースをバックアップからリストアする方法。
2つめは、破損したテーブル(データベースのデータ管理の単位の一つ)を修復する方法。

自分のケースだと、1つめの方法ではバックアップに不足するデータが存在することが確認できたので、2つめを先に実行してみることにしました。

復旧の手順

このブログで使っているサーバーでは phpMyAdmin が利用できるので、SQL による修復を行いました。

※以下のユーザー名、テーブル名は記事のため本来使っているものと違う表記にしています

まずは、テーブルの状態を確認する CHECK コマンドを実行します。

[code lang=’sql’] CHECK TABLE wp_posts
[/code]

結果は次の通り、テーブルに破損(crashed)がある事が表示されました。

[code lang=’text’] Table Op Msg_type Msg_text
xxxxxx.wp_posts check warning Table is marked as crashed
[/code]

修復するため、REPAIR コマンドを実行します。

[code lang=’sql’] REPAIR TABLE wp_posts
[/code]

問題無く修復されれば、次の様なメッセージが表示されます。

[code lang=’text’] Table Op Msg_type Msg_text
xxxxxx.wp_posts repair status OK
[/code]

再度、テーブルの状態を確認する CHECK コマンドを実行します。

[code lang=’sql’] CHECK TABLE wp_posts
[/code]

テーブルの状態が OK になりました。

[code lang=’text’] Table Op Msg_type Msg_text
xxxxxx.wp_posts check status OK
[/code]

まとめ

REPAIR コマンドで素直に直ってくれたので良かったのですが、壊れ方によっては今回の方法で直らないことも十分に考えられます。

やっぱりバックアップは大切ですね(笑)

ワードプレスをお使い方へ

失敗事例から学ぶ、自社サイトを成功させる9つのポイント、メール講座を提供しています。

WordPressをお使いなら、今すぐ無料でご登録ください!

【失敗事例から学ぶ、自社サイトを成功させる9つのポイント】

失敗事例から学ぶ、自社サイトをワードプレスで成功させる9つのポイント

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓

コメント

  1. […] ■参考 ・WordPress の投稿・固定ページが全て消えた!?:解決 | ゆめとちぼーとげんじつと ・WordPress : データベース破損から復旧しました | Hinemosu ・MySQL :: MySQL 5.1 リファレンスマニュ […]