WordPress 2025.12.27

【緊急対応】WordPressデータベース破損時の復旧マニュアル

約5分で読めます

データベース破損でサイトが真っ白になった時の緊急対処法を、20年の制作実績を持つ横浜のWeb制作会社が実案件ベースで解説します。

こんな緊急事態に直面していませんか?

  • サイトが突然真っ白になって何も表示されない
  • WordPress管理画面にログインできない
  • 「データベース接続エラー」というメッセージが表示される
  • サーバーエラーログに「Table doesn't exist」などのエラーが出ている

このような症状が現れた場合、WordPressデータベースが破損している可能性があります。20年以上の制作実績を持つ当社でも、年に数回はこのような緊急対応を行っています。

実際にあった緊急事態:製造業A社のケース

つい先月、横浜の製造業A社から緊急連絡がありました。「朝からサイトが見れなくなって、お客様からの問い合わせができない状態です」という内容でした。

調査の結果、サーバーの突然の電源断により、WordPressのデータベーステーブルが破損していることが判明。幸い、適切な手順で復旧作業を行い、2時間で完全復旧することができました。

緊急復旧の手順

1. まずは現状確認

慌てずに、まずは破損の程度を確認しましょう。

# MySQLにログイン
mysql -u ユーザー名 -p データベース名

# テーブル一覧を確認
SHOW TABLES;

# 各テーブルの状態をチェック
CHECK TABLE wp_posts, wp_options, wp_users;

2. バックアップの確認

復旧作業前に、現在の状態をバックアップしておくことが重要です。

# 現在の状態をダンプ
mysqldump -u ユーザー名 -p データベース名 > backup_broken_$(date +%Y%m%d).sql

3. テーブル修復の実行

軽度の破損の場合:

-- 破損したテーブルの修復
REPAIR TABLE wp_posts;
REPAIR TABLE wp_options;
REPAIR TABLE wp_users;

-- MyISAMの場合はこちらも試す
REPAIR TABLE wp_posts EXTENDED;

重度の破損の場合:

# MySQLを停止
sudo systemctl stop mysql

# myisamchkコマンドで修復
myisamchk -r /var/lib/mysql/データベース名/*.MYI

# MySQL再起動
sudo systemctl start mysql

4. WordPress設定ファイルの確認

// wp-config.phpの確認
define('DB_NAME', 'データベース名');
define('DB_USER', 'ユーザー名');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', 'localhost');

// デバッグモードを一時的に有効化
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

よくある失敗パターンと対処法

失敗例1:修復作業中にさらに破損が拡大

当社の経験では、焦って複数の修復コマンドを同時実行してしまい、かえって状況を悪化させるケースがよくあります。

正しい対処法:

  • 必ず一つずつのテーブルから修復作業を行う
  • 各ステップ後に必ず動作確認を行う

失敗例2:バックアップを取らずに作業開始

「早く復旧したい」という気持ちから、バックアップを取らずに修復作業を始めてしまうケースです。

正しい対処法:

  • どんなに緊急でも、現状のバックアップは必須
  • 「悪い状態でも、現在のデータは貴重な資産」という認識を持つ

復旧後の動作確認ポイント

修復作業完了後は、以下の項目を必ず確認してください:

  • フロントエンドの表示確認:ページが正常に表示されるか
  • 管理画面へのログイン:ダッシュボードにアクセスできるか
  • 投稿・固定ページの確認:コンテンツが正常に表示されるか
  • プラグインの動作:必要な機能が正常に動作するか
  • お問い合わせフォーム:フォーム送信が正常に機能するか

予防策:二度と同じ問題を起こさないために

定期的な自動バックアップの設定

#!/bin/bash
# 毎日午前3時に実行するcronスクリプト
mysqldump -u ユーザー名 -p'パスワード' データベース名 > /backup/db_$(date +%Y%m%d).sql

# 7日以上古いバックアップは削除
find /backup -name "db_*.sql" -mtime +7 -delete

サーバー環境の見直し

前述のA社では、復旧作業後にUPS(無停電電源装置)の導入をご提案し、実装いたしました。結果として、その後1年間、同様のトラブルは一度も発生していません

まとめ:緊急時こそ冷静な対応を

データベース破損は確かに深刻な問題ですが、適切な手順を踏めば必ず復旧できます。当社では、これまで100%の成功率で復旧作業を完了しています。

今すぐ実行すべきアクション:

  1. 現在のサイトの緊急バックアップを取得
  2. 定期バックアップの仕組みを構築
  3. 緊急時の連絡先を決めておく

もし現在データベース破損でお困りの場合、または予防策の実装をご検討の場合は、お気軽にご相談ください。緊急時は24時間以内の対応を心がけています。

この記事をシェア