WordPressを確認したところ、突然サイトが表示されなくなり、画面に「データベース接続確立エラー」と表示されました。
直前にデータベースの最適化を行っていたため、最初はその作業で何かを壊したのだと思いました。しかし、実際の原因は最適化ではありません。
ConoHa側でデータベースのパスワードを変更したあと、WordPressのwp-config.phpに古いパスワードが残っていたことが原因でした。
この記事では、エラーが発生した経緯、原因の切り分け、実際に確認した場所をまとめます。
この記事は、ミコトホドで実際に発生したエラーをもとにした記録です。サーバー環境や契約内容によって管理画面や操作方法は異なります。データベースや設定ファイルを編集する前に、必ずバックアップを取ってください。
データベース接続確立エラーが出るまでの流れ
エラーが出る前、サイトでは「このサイトは安全な接続をサポートしていません」という表示が発生していました。
当時はConoHa側でも障害情報が出ていたため、SSLの期限、WAFのログ、セキュリティ系プラグインのログを確認しましたが、明らかな異常は見つかりませんでした。
あわせてバックアップの状態も見直し、UpdraftPlusの保存先をConoHaサーバー内からGoogle Driveへ変更しました。「今すぐバックアップ」を実行し、実際に保存できることも確認しています。
ここまでは、サイトの状態とバックアップを確認する作業でした。
その後、しばらくデータベースのパスワードを変更していなかったことを思い出し、ConoHaの管理画面からDBパスワードを変更しました。
続けてデータベースへログインし、最適化作業を実施しました。そのあとサイトを確認すると、表示されたのが「データベース接続確立エラー」です。
最初はデータベース最適化が原因だと思った
エラーを見たとき、最初に疑ったのは直前に行ったデータベースの最適化でした。
作業の順番だけを見ると、最適化後にサイトが表示されなくなっています。そのため、「最適化によってデータベースを壊したのではないか」と考えました。

直前にバックアップを確認していたため、バックアップからの復元も試しました。しかし、復元してもエラーは解消されませんでした。
この時点で、データベースの内容そのものではなく、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:データベースのホスト名

確認したところ、DB_PASSWORDには変更前の古いパスワードが残っていました。
DB_PASSWORDをConoHa側で設定した新しいパスワードに変更し、両方の情報を一致させたところ、データベース接続確立エラーは解消しました。
wp-config.phpは、WordPressの動作に関わる重要な設定ファイルです。文字や記号を誤って削除すると、別のエラーが発生する可能性があります。編集前のファイルを保存し、変更箇所以外には触れないようにしてください。
DBパスワードを変更するときの手順
今回の件から、データベースのパスワード変更は、サーバーの管理画面だけで完了する作業ではないと分かりました。
WordPressが使用しているデータベースのパスワードを変更する場合は、サーバー側とwp-config.php側の情報を揃える必要があります。
同じ作業を行う場合は、次の順番で進めると確認漏れを防げます。
- WordPressのファイルとデータベースをバックアップする
wp-config.phpの現在の内容を保存する- 現在のDB名、ユーザー名、パスワード、ホスト名を確認する
- サーバー側でDBパスワードを変更する
wp-config.phpのDB_PASSWORDを新しいパスワードに変更する- サイトとWordPress管理画面が表示されるか確認する
- 表示確認後、必要に応じてバックアップを取り直す
サーバー側だけを変更した状態では、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.phpのDB_PASSWORDも更新する - 接続エラーでは、DB名、ユーザー名、パスワード、ホスト名を確認する
- 直前の作業だけを原因と決めつけず、変更内容を順番に振り返る
- データベースや設定ファイルを触る前にバックアップを取る
データベース接続確立エラーが出たときは、データベースの破損を疑う前に、サーバー側とwp-config.php側の接続情報が一致しているかを確認してください。


コメント