「WordPressにアクセスしたら突然エラーが出た」「管理画面に入れない」「記事が消えた気がする」——こんな経験をしたことはありませんか?
これらのトラブルの多くは、WordPressのデータベースに問題が起きていることが原因です。データベースはWordPressの「頭脳」ともいえる部分で、記事・設定・ユーザー情報などすべてのデータを管理しています。
20年以上のITエンジニア歴をもつよこやま良平が、WordPressデータベースの修復方法を初心者でもわかるように、実際の復旧現場の経験をもとに解説します。
- WordPressデータベースが壊れる原因
- 修復前に必ずやるべきバックアップの方法
- WordPress標準機能・phpMyAdminを使った修復手順
- 修復できない場合の対処法と専門家への相談タイミング
本記事では、データベースのエラーが出る原因から、初心者でも安全に修復できる手順まで、ステップ形式でわかりやすく解説します。焦らず一つひとつ確認していきましょう。
目次
WordPressデータベースが壊れる原因と症状
まず結論から言います。WordPressのデータベース障害は、ほとんどの場合「予兆のないタイミング」で発生します。原因を知っておくことで、万が一の対応がスムーズになります。
データベースが壊れる主な原因
筆者がこれまで対応してきた多くのWordPressトラブルの中で、データベース障害が起きるパターンは大きく4つに分類できます。
- サーバーの強制停止・障害:サーバーが記事の書き込み中にシャットダウンされると、データが中途半端な状態でデータベースに残ってしまう
- WordPress・プラグインの更新失敗:アップデート中にエラーが起きると、データベースのテーブル構造が壊れることがある
- マルウェア感染・不正アクセス:攻撃者がデータベースに不正なデータを書き込んだり、テーブルを削除したりする
- 長期間のデータ蓄積:リビジョン・スパムコメント・不要なログが大量に蓄積し、テーブルが肥大化・破損しやすくなる
データベース障害が起きたときの代表的な症状
以下のような症状が出ている場合、データベースに問題が起きている可能性があります。
- 「データベース接続確立エラー(Error Establishing a Database Connection)」が表示される
- 「このサイトで重大なエラーが発生しました」と表示される
- 管理画面にはログインできるが、記事一覧が表示されない
- 記事を保存しようとするとエラーになる
- サイトの表示が崩れる・一部のページだけ表示されない
「データベース接続確立エラー」についての詳細な原因と復旧手順は、以下の記事でも解説しています。
データベース修復の前に必ずバックアップを取る
修復作業は必ずバックアップを取ってから始めてください。これが鉄則です。修復作業中に誤った操作をしてしまうと、データが完全に消えてしまう可能性があります。バックアップさえあれば、最悪でも元の状態に戻せます。
サーバーのコントロールパネルからバックアップする
最も安全で簡単な方法は、レンタルサーバーのコントロールパネルからデータベースをバックアップすることです。WordPressにアクセスできなくてもサーバー側でバックアップが取れます。
- エックスサーバー:サーバーパネル → 「データベース」→「MySQLバックアップ」→ 対象のデータベースをエクスポート
- ConoHa WING:コントロールパネル → 「サイト管理」→「バックアップ」→「データベースバックアップ」
- さくらインターネット:コントロールパネル → 「データベース」→「phpMyAdmin」→ 対象DBを選択してエクスポート
- ロリポップ:ユーザー設定 → 「データベース」→「データベース設定」→ phpMyAdminでエクスポート
WordPressプラグインでバックアップする
管理画面にアクセスできる状態であれば、バックアッププラグインを使うのが最も手軽です。UpdraftPlusまたはBackWPupが特に使いやすく、初心者にもおすすめです。
バックアッププラグインの詳しい使い方は以下の記事をご覧ください。
「少し触るだけ」と思っても、phpMyAdminでの誤操作1回でデータベース全体が消えることがあります。バックアップなしの修復作業は絶対にやめてください。
WordPress標準機能でデータベースを修復する方法
WordPressには実は標準でデータベース修復機能が内蔵されています。軽度の破損であればこの方法だけで解決できることが多く、初心者でも安全に実行できます。まずここから試してみましょう。
STEP1:wp-config.phpにコードを追記する
WordPressのデータベース修復機能を有効化するには、サーバー上の wp-config.php ファイルを編集します。FTPソフト(FileZillaなど)またはサーバーのファイルマネージャーを使ってアクセスしてください。
wp-config.php を開いて、「/* That's all, stop editing! */」という行の直前に以下の1行を追加します。
define( 'WP_ALLOW_REPAIR', true );以下のように「That’s all」の行の直前に追加します。
define( 'WP_ALLOW_REPAIR', true );
/* That's all, stop editing! Happy publishing. */STEP2:修復ページにアクセスする
ファイルを保存したら、ブラウザで以下のURLにアクセスします。your-domain.com の部分はご自身のサイトのドメインに変えてください。
https://your-domain.com/wp-admin/maint/repair.phpこの修復ページはログインなしで誰でもアクセスできる状態になります。修復が終わったら必ずSTEP3の手順でコードを削除してください。
STEP3:「データベースの修復と最適化」を実行する
修復ページにアクセスすると、2つのボタンが表示されます。
- 「データベースを修復する」:テーブルの破損を検出して修復する。まずこちらを実行
- 「データベースを修復して最適化する」:修復に加えてテーブルの最適化も行う。修復後にこちらも実行するとより効果的
実行すると各テーブルのステータスが表示されます。「修復済み」「OK」と表示されれば成功です。

STEP4:wp-config.phpから追記したコードを削除する
修復が完了したら必ず wp-config.php に追加した1行を削除してください。このままにしておくと、誰でも修復ページにアクセスできる状態が続いてしまい、セキュリティ上のリスクになります。
以下の1行を wp-config.php から必ず削除してください。放置するとセキュリティリスクになります。
define( 'WP_ALLOW_REPAIR', true );phpMyAdminでデータベースを修復する方法
WordPress標準の修復機能で解決しない場合や、より詳細に確認したい場合は phpMyAdmin を使います。phpMyAdminはデータベースをブラウザ上で操作できるツールで、多くのレンタルサーバーで標準提供されています。
phpMyAdminにアクセスする
各サーバーのコントロールパネルから「phpMyAdmin」または「データベース管理」を選択してアクセスします。ログインにはWordPressのデータベースユーザー名とパスワードが必要です(wp-config.php に記載されています)。
define( 'DB_NAME', 'データベース名' );
define( 'DB_USER', 'データベースユーザー名' );
define( 'DB_PASSWORD', 'データベースパスワード' );
define( 'DB_HOST', 'localhost' );テーブルを選択して「修復」を実行する
phpMyAdminでWordPressのデータベースを開いたら、以下の手順で修復を実行します。
- 左のツリーからWordPressのデータベース名をクリックして開く
- テーブル一覧が表示されるので、一番下までスクロールして「すべてチェックする」をクリック
- 「選択したものを:」のプルダウンから「テーブルの修復」を選択
- 実行ボタンをクリックする
- 各テーブルの結果が表示される。「OK」または「Table is already up to date」と表示されれば正常

テーブルチェック機能でエラーを確認する
修復の前後で「テーブルのチェック」を実行すると、どのテーブルに問題があるかを確認できます。修復後もエラーが表示されるテーブルは、重大な破損が起きている可能性があります。
- テーブルのチェック:テーブルの状態を確認する(修復前の診断に使う)
- テーブルの修復:破損したテーブルを修復する(メインの修復作業)
- テーブルの最適化:削除データの断片化を解消して軽量化する(定期メンテナンスに有効)
- テーブルの分析:インデックス情報を更新して検索パフォーマンスを改善する
データベースを定期的に最適化してトラブルを予防する
修復と同様に重要なのが「最適化」です。WordPressは記事の下書き(リビジョン)・削除したコメント・プラグインのログなどが自動的に蓄積します。これを放置すると、データベースが肥大化して動作が重くなり、破損リスクが高まります。
WP-Optimizeプラグインで最適化する
初心者には WP-Optimize プラグインが最もおすすめです。難しい操作なしに、クリック一つでデータベースの最適化ができます。
- WordPress管理画面 → 「プラグイン」→「新規プラグインを追加」
- 「WP-Optimize」を検索してインストール・有効化
- 管理画面左メニューの「WP-Optimize」をクリック
- 「データベース」タブを選択
- 最適化したい項目(リビジョン削除・スパムコメント削除など)にチェックを入れて「実行」

リビジョンを自動削除する設定を追加する
WordPressはデフォルトで記事の変更履歴(リビジョン)を無制限に保存します。記事数が多いサイトではリビジョンだけで数万件のデータになることも珍しくありません。以下のコードを wp-config.php に追加することで、保存するリビジョン数を制限できます。
// リビジョンを最新3件のみ保存する(0にすると無効化)
define( 'WP_POST_REVISIONS', 3 );- リビジョンの上限を3〜5件に設定する
- 月1回WP-Optimizeで最適化する
- スパムコメントを定期的に完全削除する
データベース修復で解決しない場合の対処法
WordPress標準機能・phpMyAdminで修復を試みても解決しない場合、テーブルの破損が深刻な状態である可能性があります。この場合、無理に操作を続けるとデータ消失につながるため、冷静に対処することが重要です。
バックアップからデータベースを復元する
バックアップが取れている場合は、バックアップからデータベースを復元するのが最も確実な方法です。phpMyAdminから以下の手順で復元できます。
- phpMyAdminで対象のデータベースを選択
- 上部メニューの「インポート」をクリック
- バックアップしておいた
.sqlファイルを選択 - 「実行」ボタンをクリックして復元完了
インポート前に現在のデータベースを別名でエクスポートしておきましょう。インポートはテーブルを上書きするため、誤ったファイルを使うと現在のデータが消えます。
マルウェア感染が疑われる場合
データベースに見覚えのないコードやURLが大量に書き込まれている場合、マルウェア感染による改ざんの可能性があります。この場合は単純な修復では解決できません。感染源の特定と駆除が必要です。
WordPressのマルウェア感染・改ざんへの対処は以下の記事で詳しく解説しています。
専門家に依頼するタイミング
以下のような状況になったら、ご自身での対応を無理に続けるよりも専門家に相談することを強くおすすめします。
- 修復を試みるたびに状態が悪化している
- バックアップがなく、データを失うとビジネスに重大な影響が出る
- マルウェア感染・不正アクセスが疑われる
- phpMyAdminの操作に不安があり、誤操作が怖い
- 1日以上経っても原因が特定できない
データベースのトラブルを二度と起こさない再発防止策
データベースの修復が完了したら、同じトラブルを繰り返さないための対策を講じることが重要です。筆者が現場で最も効果があると実感している対策を紹介します。
定期バックアップを自動化する
バックアップは「何かあってから取る」ではなく、「何もない間に自動で取り続ける」のが正解です。UpdraftPlusやBackWPupプラグインを使えば、毎日・毎週など定期的にデータベースを自動バックアップできます。
セキュリティ対策でデータベースへの不正アクセスを防ぐ
マルウェアや不正アクセスによるデータベース改ざんを防ぐには、WordPressのセキュリティを強化することが不可欠です。筆者が開発したクイックレスキュー365は、不正ログインブロック・ログインURL変更・XMLRPCの遮断など、データベース改ざんの入り口を塞ぐ8つの機能を無料で提供しています。
WordPress・プラグインの更新は慎重に行う
更新作業はデータベース障害の原因になることがあります。更新前には必ずバックアップを取り、ステージング環境(テスト環境)で先に確認してから本番に適用する習慣をつけましょう。
- 自動バックアップを週1回以上設定している
- バックアップデータは外部ストレージ(Googleドライブ等)に保存している
- セキュリティプラグインで不正アクセス対策をしている
- WordPress・プラグインは更新前にバックアップを取っている
- 月1回WP-Optimizeでデータベースを最適化している
WordPress標準の修復機能(repair.php)やphpMyAdminの「テーブルの修復」は、データを消去せずに構造的な破損を修復する操作です。ただし、操作を誤ると消える可能性もあるため、必ず修復前にバックアップを取ってから実行してください。
phpMyAdminはレンタルサーバーのコントロールパネルから起動できます。エックスサーバーなら「MySQLの設定」、ConoHa WINGなら「データベース」メニューから開けます。サーバーの種類によってメニュー名が異なるため、ご利用中のサーバーのマニュアルを確認してください。
必ずしも同じではありません。「データベース接続確立エラー」はWordPressがデータベースに「繋がれない」状態で、接続情報の誤りやサーバー障害が原因のことも多いです。データベースが壊れている場合もありますが、まずwp-config.phpの接続情報やサーバー側の状態を確認するのが先決です。
phpMyAdminの操作やwp-config.phpの編集に不安がある場合は、無理に自分でやる必要はありません。誤操作でデータが消えるリスクを考えると、最初から専門家に依頼する方が結果的に安く・早く解決できることが多いです。クイックレスキューでは最短30分での対応も可能です。
WordPressデータベース修復 まとめと次のステップ
WordPressのデータベース修復は、適切な手順を踏めば初心者でも対処できるトラブルです。本記事の内容をまとめます。
- データベース障害の原因はサーバー障害・更新失敗・マルウェア・データ肥大化の4つ
- 修復前には必ずバックアップを取る(これが最重要)
- まずWordPress標準の修復機能(repair.php)を試す
- 解決しない場合はphpMyAdminで「テーブルの修復」を実行する
- それでも解決しない場合は、バックアップから復元または専門家に相談
- 再発防止には自動バックアップとセキュリティ対策が必須
「なんとか直せた」と安心したところで再発する——これが最も多いパターンです。修復後は必ず再発防止策を講じておきましょう。
WordPressのデータベース修復が自分でできない時は

データベースの修復作業に不安がある方、自力での対応が難しい方は
クイックレスキューが最短30分で解決します。
・データベース接続エラーが出て何もできない
・phpMyAdminの操作が怖くて手が出せない
・修復を試みたら状態が悪化してしまった
・マルウェア感染でデータベースが改ざんされた
・バックアップがなくて途方に暮れている
これらでお悩みなら最短30分ですぐに解決します!
いまなら期間限定で
・万一改善されない場合は全額返金保証で安心!
・30日間動作保証で安心!
・初期費・調査料 0円で安心!








