WordPressデータベースの修復とテーブル最適化のやり方を徹底解説
WordPressをサイトにインストールすると、データベースは自動的に作成されます。データベースはウェブサイトにとって非常に重要な要素であり、レンタルサーバー(ホスティング)の管理アカウントからアクセスできます。データベースは、コメント、投稿記事、サイト名、ユーザー情報など、サイト上のあらゆる情報を保存する「収納庫」のようなものだと考えてください。情報は構造化された形で格納されています。
訪問者がサイトにアクセスするたびに、データベースから情報が取得されて表示されます。そのため、データベースとサイトの接続が切断されると、訪問者には空のページが表示され、二度と戻ってこない可能性が高くなります。
データベースは、テーブルが時折クラッシュすることでも知られています。テーブルが破損・欠落すると、訪問者にはデータベースエラーが表示されます。「WordPressでデータベース接続を確立できません」や「Warning: failed to open stream」といったエラーメッセージを目にすることになるでしょう。
WordPressデータベースに何が起きたのか?
これらの接続エラーは、データベースが破損・欠落・消失している場合に発生します。主な原因として、以下のようなトラブルが考えられます。
- wp-config.phpファイルへの誤った認証情報の入力
- ホスティングサーバーのクラッシュ
- PHPメモリ制限に達し、サーバー処理が中断される
- ファイルパーミッションが正しく設定されていない
- 利用中の外部ファイアウォールサービスがサイト(または一部)をブロックしている
- サードパーティ製プラグインがファイルパスを壊したり、コンテンツを削除したりしている
- ハッキング被害に遭い、第三者がサイトやMySQLデータベースにアクセスできる状態になっている
ただし、エラーは修復可能です。さらに、日頃からデータベースを最適化しておけば、こうしたトラブルを最小限に抑えることもできます。
修復作業を始める前に、必ずWordPressデータベースのバックアップを取っておきましょう。バックアップがなければ、サイトにトラブルが発生した際にコンテンツを失うリスクがあります。バックアップがあれば安心してデータベースを変更でき、問題が起きても復元するだけで数分以内にサイトを復旧できます。
いくつかの手順でデータベース全体をバックアップ(ダウンロード)してPCに保存できます。特定のテーブルだけをダウンロードしたい場合は、もう少し手順が必要です。以下にWordPressデータベースのバックアップ方法を紹介します。
WordPressデータベースのバックアップ手順
ステップ1: ホスティングアカウントにログインし、phpMyAdminを選択します。phpMyAdminの画面が開くと、データベースのテーブル一覧が表示されます。WordPressのデータベースにはデフォルトで12個のテーブルがあり、サイトの成長に伴ってテーブルは増えていきます。
デフォルトのテーブルは以下の通りです。
1: wp_commentmeta
2: wp_comments
3: wp_links
4: wp_options
5: wp_postmeta
6: wp_posts
7: wp_terms
8: wp_termmeta
9: wp_term_relationships
10: wp_term_taxonomy
11: wp_usermeta
12: wp_users
ステップ2: 画面上部にある「エクスポート(Export)」タブをクリックすると、次の2つのオプションが表示されます。
- クイック(Quick):最小限のオプションのみ表示
- 詳細(Custom):すべてのオプションを表示
「クイック」を選ぶと、データベース全体がエクスポートされます。
一方「詳細」を選ぶと追加オプションが現れ、ドロップダウンメニューから特定のテーブルだけを選んでエクスポートできます。
ステップ3: 次に、バックアップの形式を選択します。デフォルトのSQL形式のままでも、扱いやすい他の形式でも構いません。形式を選んだら「実行(GO)」をクリックします。
データベースのサイズによって異なりますが、バックアップのダウンロードが完了するまで数分かかる場合があります。
これでデータベースのバックアップを手元に確保できました。続いて、データベースの修復と最適化の方法を見ていきましょう。方法は2つあります。WordPress(バージョン2.9以降)にはデータベース修復機能が標準搭載されており、技術的な専門知識がない人でも数ステップで破損したファイルやデータベースを修復できます。うまくいかない場合は、phpMyAdminを試してみてください。ここでは両方の方法を解説します。
WP_ALLOW_REPAIRを使ったWordPressデータベースの修復
ホスティングアカウントにアクセスし、ファイルマネージャーを開いて、画面左側の一覧からpublic_htmlを選びます。wp-config.phpを探し、右クリックして「編集(Edit)」を選択します。
テキストエディタで、次の1行を挿入します。
define( 'WP_ALLOW_REPAIR', true );
この行は、必ず "if ( !defined('ABSPATH') )" の行より上に挿入してください。
変更を保存します。内容を十分理解していない場合は、サイトに他の変更を加えないように注意してください。
保存後、ブラウザで次のURLを開きます。
https://yoursite.com/wp-admin/maint/repair.php
(※yoursiteは実際のWordPressサイトのドメイン名に置き換えてください)
ページを開くと、「Repair Database(データベースを修復する)」と「Repair and Optimize Database(データベースを修復し最適化する)」という2つのボタンが表示されたWordPressの画面が現れます。
どちらのボタンをクリックしても破損したデータベースは修復されますが、同時に最適化も行われるため、2番目のボタンを選ぶことをおすすめします。
WordPressによる修復が完了すると、画面に完了メッセージが表示されます。
最後に、wp-config.phpに追加した "define( 'WP_ALLOW_REPAIR', true );" の行を必ず削除してください。このURLは認証なしでアクセスできる状態になるため、コードを残したままだと第三者に悪用される危険があります。
この方法がうまくいかない場合は、phpMyAdminを使ってWordPressデータベースのテーブルを修復・最適化する別の方法があります。
phpMyAdminでMySQLデータベーステーブルを修復する
- ホスティングアカウントにアクセスし、phpMyAdminを選択します。phpMyAdminの画面で、データベース内のテーブル一覧を確認できます。
- 各テーブルの左側にチェックボックスがあります。修復したいテーブルにチェックを入れます。
- 「With Selected(チェックした項目に対して)」というオプションを選ぶと、ドロップダウンメニューが表示されます。
- ドロップダウンメニューから「Repair Table(テーブルを修復する)」を選択します。
テーブルは自動的に修復され、修復結果を示すページが表示されます。
phpMyAdminでMySQLデータベーステーブルを最適化する
- 各テーブルの左側にあるチェックボックスのうち、最適化したいテーブルにチェックを入れます。
- 「With Selected(チェックした項目に対して)」オプションを選ぶと、ドロップダウンメニューが表示されます。
- ドロップダウンメニューから「Optimize Table(テーブルを最適化する)」を選択します。
テーブルは自動的に最適化され、処理結果を示すページが表示されます。
まとめ
データベース接続の問題は決して珍しいものではありません。また、一度修復しても再発しないという保証はありません。ホスティングサーバーのクラッシュのように自分では制御できない問題もある一方で、事前に防げる問題もあります。たとえば、WordPress用のセキュリティサービスを導入してハッカーからサイトを守ることなどが挙げられます。さらに、HTTPからHTTPSへの移行、サイトの強化(ハードニング)、ログインページの保護といった追加のセキュリティ対策も併せて講じておきましょう。
本ガイドがお役に立ち、破損したデータベースファイルの修復とWordPressサイトの復旧が成功することを願っています。
-
WordPressキャッシュの仕組みを徹底解説!ページ表示速度を劇的に改善する方法
WordPressのパフォーマンスプラグインに共通する目標は、訪問者へページを届けるまでの時間を短縮することです。その主要な手法のひとつが、各ページのコピーを保存する「ページキャッシュ(Page Caching)」です。 最適化されていない一般的なWordPressサイトでは、平均的なページ読み込み時間は3〜5秒程度かかります。静的ページを配信し、推奨される最適化手法を実践することで、読み込み時間は0.5秒〜1秒まで短縮可能です。 WP Rocketは、ページ読み込み時間を1秒に短縮するメリットについて解説しています。 ページキャッシュを使用していないWordPressサイトでは、誰かが
-
WordPressのキャッシュを正しくクリアする方法|主要キャッシュプラグイン&ホスティング別ガイド
ウェブサイトの表示速度が速いほど、ユーザーの閲覧体験が向上し、コンバージョン率やリピート率も高まることが多くの調査で示されています。また、サイト速度はGoogleの「Core Web Vitals」における重要な指標でもあるため、高速なサイトはトラフィック増加や検索エンジンでの順位向上にもつながります。 WordPressサイトの速度を改善する最も効果的な方法は、WP RocketやWP Super Cacheといったキャッシュプラグインを使ってページキャッシュを有効化することです。 ページキャッシュは、サイト内の各ページのコピー(静的ファイル)を作成し、コンテンツをより速く配信できるようにす