WordPressでデータベース接続確立エラーが出た話|原因はDBパスワードの不一致だった

wordpress-database-connection-errorサムネ
  • URLをコピーしました!

WordPressを確認したところ、突然サイトが表示されなくなり、画面に「データベース接続確立エラー」と表示されました。

直前にデータベースの最適化を行っていたため、最初はその作業で何かを壊したのだと思いました。しかし、実際の原因は最適化ではありません。

ConoHa側でデータベースのパスワードを変更したあと、WordPressのwp-config.phpに古いパスワードが残っていたことが原因でした。

この記事では、エラーが発生した経緯、原因の切り分け、実際に確認した場所をまとめます。

この記事は、ミコトホドで実際に発生したエラーをもとにした記録です。サーバー環境や契約内容によって管理画面や操作方法は異なります。データベースや設定ファイルを編集する前に、必ずバックアップを取ってください。

目次

データベース接続確立エラーが出るまでの流れ

エラーが出る前、サイトでは「このサイトは安全な接続をサポートしていません」という表示が発生していました。

当時はConoHa側でも障害情報が出ていたため、SSLの期限、WAFのログ、セキュリティ系プラグインのログを確認しましたが、明らかな異常は見つかりませんでした。

あわせてバックアップの状態も見直し、UpdraftPlusの保存先をConoHaサーバー内からGoogle Driveへ変更しました。「今すぐバックアップ」を実行し、実際に保存できることも確認しています。

ここまでは、サイトの状態とバックアップを確認する作業でした。

その後、しばらくデータベースのパスワードを変更していなかったことを思い出し、ConoHaの管理画面からDBパスワードを変更しました。

続けてデータベースへログインし、最適化作業を実施しました。そのあとサイトを確認すると、表示されたのが「データベース接続確立エラー」です。

最初はデータベース最適化が原因だと思った

エラーを見たとき、最初に疑ったのは直前に行ったデータベースの最適化でした。

作業の順番だけを見ると、最適化後にサイトが表示されなくなっています。そのため、「最適化によってデータベースを壊したのではないか」と考えました。

WordPressのデータベース接続確立エラー画面

直前にバックアップを確認していたため、バックアップからの復元も試しました。しかし、復元してもエラーは解消されませんでした。

この時点で、データベースの内容そのものではなく、WordPressがデータベースへ接続するための設定に問題がある可能性を考えました。

エラーの直前に行った作業が、必ずしも原因とは限りません。今回も最適化を疑いましたが、実際に接続を止めていたのは、その前に変更したDBパスワードでした。

原因はDBパスワードの不一致だった

今回の原因は、ConoHa側で変更したデータベースのパスワードと、WordPress側に保存されていたパスワードが一致していなかったことです。

WordPressは、データベースへの接続に必要な情報をwp-config.phpという設定ファイルに保存しています。

ConoHaの管理画面からDBパスワードを変更しても、wp-config.phpに書かれているパスワードまで自動で書き換わるわけではありません。

今回は、ConoHa側では新しいパスワードに変わっている一方、WordPressは古いパスワードを使って接続しようとしていました。

その結果、データベースから接続を拒否され、WordPressに「データベース接続確立エラー」が表示されていました。

wp-config.phpの接続情報を確認した

WordPress側の接続情報を確認するため、wp-config.phpを開きました。

wp-config.phpには、WordPressがデータベースへ接続するための主な情報として、次の項目が記載されています。

  • DB_NAME:接続先のデータベース名
  • DB_USER:データベースのユーザー名
  • DB_PASSWORD:データベースのパスワード
  • DB_HOST:データベースのホスト名
wp-config.php内のデータベース接続情報を確認している画面

確認したところ、DB_PASSWORDには変更前の古いパスワードが残っていました。

DB_PASSWORDをConoHa側で設定した新しいパスワードに変更し、両方の情報を一致させたところ、データベース接続確立エラーは解消しました。

wp-config.phpは、WordPressの動作に関わる重要な設定ファイルです。文字や記号を誤って削除すると、別のエラーが発生する可能性があります。編集前のファイルを保存し、変更箇所以外には触れないようにしてください。

DBパスワードを変更するときの手順

今回の件から、データベースのパスワード変更は、サーバーの管理画面だけで完了する作業ではないと分かりました。

WordPressが使用しているデータベースのパスワードを変更する場合は、サーバー側とwp-config.php側の情報を揃える必要があります。

同じ作業を行う場合は、次の順番で進めると確認漏れを防げます。

  1. WordPressのファイルとデータベースをバックアップする
  2. wp-config.phpの現在の内容を保存する
  3. 現在のDB名、ユーザー名、パスワード、ホスト名を確認する
  4. サーバー側でDBパスワードを変更する
  5. wp-config.phpDB_PASSWORDを新しいパスワードに変更する
  6. サイトとWordPress管理画面が表示されるか確認する
  7. 表示確認後、必要に応じてバックアップを取り直す

サーバー側だけを変更した状態では、WordPressは古いパスワードを使い続けます。DBパスワードを変更するときは、wp-config.phpの更新までを一つの作業として扱う必要があります。

データベース接続確立エラーで確認したい項目

データベース接続確立エラーは、DBパスワードの不一致だけで発生するものではありません。

今回と同じエラーが出た場合は、まず直前に変更した内容を振り返り、そのうえでwp-config.phpの接続情報を確認します。

  • DB_NAMEが正しいか
  • DB_USERが正しいか
  • DB_PASSWORDがサーバー側の設定と一致しているか
  • DB_HOSTが正しいか
  • 直前にDBパスワードやデータベースユーザーを変更していないか
  • サーバーやデータベースに障害が発生していないか

接続情報に問題が見つからない場合は、データベース側の障害や破損など、別の原因を調べる必要があります。

「データベース接続確立エラー」と表示されても、すぐにデータベースが壊れたと判断する必要はありません。まずはwp-config.phpの接続情報と、サーバー側の設定が一致しているかを確認します。

バックアップから復元しても直らなかった理由

今回はバックアップからの復元も試しましたが、エラーは解消されませんでした。

原因がデータベースの内容ではなく、サーバー側とWordPress側のパスワード不一致だったためです。

バックアップを戻しても、ConoHa側で変更した新しいDBパスワードと、復元されたwp-config.phpの古いパスワードが一致しない状態は変わりません。

ただし、バックアップが不要だったわけではありません。データベースや設定ファイルを変更する作業では、原因の切り分けを誤った場合に元の状態へ戻せる準備が必要です。

まとめ|DBパスワード変更後はwp-config.phpも更新する

今回のデータベース接続確立エラーは、データベースの最適化ではなく、DBパスワードの不一致が原因でした。

ConoHa側でデータベースのパスワードを変更したあとも、WordPressのwp-config.phpには古いパスワードが残っていました。そのため、WordPressがデータベースへ接続できない状態になっていました。

  • DBパスワードを変更したら、wp-config.phpDB_PASSWORDも更新する
  • 接続エラーでは、DB名、ユーザー名、パスワード、ホスト名を確認する
  • 直前の作業だけを原因と決めつけず、変更内容を順番に振り返る
  • データベースや設定ファイルを触る前にバックアップを取る

データベース接続確立エラーが出たときは、データベースの破損を疑う前に、サーバー側とwp-config.php側の接続情報が一致しているかを確認してください。

  • URLをコピーしました!

コメント

コメントする

目次