速報

アイリスプラザが不正アクセスで通販サイト停止|漏えい調査と利用者の確認先

CATEGORY

【WordPress】マルチサイト移管時にデータベース接続確立エラーが発生したときの対処法

※本ページのリンクにはプロモーションが含まれています。

【WordPress】マルチサイト移管時にデータベース接続確立エラーが発生したときの対処法

目次

本記事では、マルチサイトで接続確率エラーが発生した際に確認する項目をご紹介しています。

先日マルチサイトで構築されたサイトのサーバを移管した際にデータベース接続確立エラーが発生したため、私が解決に至った方法を共有できればと思います。

マルチサイトを移管したらデータベース接続確立エラーに…どうすれば解決するの?

上記でお悩みの方の参考になれば幸いです。

では、解説していきます。

スポンサーリンク

データベース接続確立エラーとは

データベース接続確立エラーとは、文字通りWordPressがデータベースと接続できないがために起こるエラーです。サーバ移管やの変更といった作業を行う場合に発生しやすいエラーです。WordPressがデータを取得できない状態です。ブラウザでWebサイトにアクセスして下記のエラーメッセージが表示されたら確定です。

日本語

データベース接続確立エラー

英語

Error establishing a database connection

あまり好ましくないエラーですが、言い換えればデータベースに接続できれば表示される状態にあるという解釈もできます。サイトの移管などはある程度経験があるエンジニアの方が担当すると思いますので、ファイルのアップロードやデータベースのインポートは問題ないはず。なのでエラーの原因はWordPressの設定やデータベースのレコードの値が違うといったものが考えられます。

データベース接続確立エラーが表示されたら、まずは下記がきちんと設定されているか確認しましょう。

  • wp-config.php
  • データベースのレコード

上記のどこを見ればいいのか、詳しく見ていきたいと思います。

wp-config.phpの設定

wp-config.phpは、ファイル名の通りWordPress本体の設定内容が記載されています。データベースの接続情報も同様です。wp-config.phpに記載されている情報は正しいのか確認しましょう。

/** MySQL 設定 - この情報はホスティング先から入手してください。 **/
/** WordPress のためのデータベース名 */
define('DB_NAME', 'dbname');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'dbuser');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password');

/** MySQL のホスト名 */
define('DB_HOST', 'xxxxx.ap-northeast-1.rds.amazonaws.com');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8mb4' );

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );

通常のシングルサイトであれば上記の設定だけで大丈夫です。マルチサイトの場合はもう少し下にスクロールするとマルチサイト用の設定内容が記載されています。「DOMAIN_CURRENT_SITE」の定数に設定されているドメインが正しいのか確認しましょう。

define ('WP_ALLOW_MULTISITE', true);
define('WP_DEBUG', false);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'mydomain.jp'); //ここのドメインを確認
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

問題なければwp-config.phpの設定は完了です。修正した場合はファイルをサーバにアップロードしておきましょう。

WordPress側の設定ファイルに問題がないようであればデータベース側の設定でエラーになっているのかもしれません。レコードの値を確認してみましょう。

スポンサーリンク

データベースの設定

下記はデータベースで確認すべきテーブルのリストです。接頭辞は「wp_」を想定しています。接頭辞はインストール時に設定した内容で異なりますのでご了承下さい。

  • wp_blogs
  • wp_options
  • wp_site
  • wp_sitemeta
  • wp_n_options

確認するテーブルとレコードを記載していますので、参考に修正してみてください!

wp_blogs

domain:新ドメイン
path:各サイトのパス

wp_options

移行先の環境に合わせて

option_name:siteurl
option_value:WordPressインストールURL

option_name:home
option_value:ホームURL

wp_site

domain:新ドメイン
path:サイトのパス

wp_sitemeta

meta_key:siteurl
meta_value:WordPressインストールURL

wp_n_options

サイトネットワークの数だけ指定

option_name:siteurl
option_value:サイトネットワークURL

option_name:home
option_value:サイトネットワークURL

最後に

以上、WordPressでマルチサイト移管時にデータベース接続確立エラーが発生したときの対処法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

ドメイン

インターネット上の住所にあたる名前。「example.com」のように、WebサイトやメールアドレスのURLに使う。

詳しく見る

データベース

データを決まった形式で整理して保存し、検索や更新をしやすくした仕組み。WordPressではMySQLやMariaDBを使う。

詳しく見る