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

  • URLをコピーしました!

WordPressを運営していると、突然サイトが表示されなくなることがあります。

その中でも、かなり焦るエラーのひとつが 「データベース接続確立エラー」 です。

今回は、ミコトホドで実際にこのエラーが出たときの記録です。原因は、ConoHa側でデータベースのパスワードを変更したあと、WordPress側の接続情報が古いままになっていたことでした。

この記事では、エラーが出るまでの流れと、実際に確認したポイントをまとめます。

この記事は、ミコトホドで実際に起きた体験をもとにした記録です。サーバー環境や契約内容によって確認画面や操作方法は異なるため、作業前には必ずバックアップを取ってください。

目次

データベース接続確立エラーが出た流れ

最初に気になったのは、サイト表示に関する別の不具合でした。

ConoHa側で障害情報が出ていた時期に、管理しているサイトで「このサイトは安全な接続をサポートしていません」という表示に遭遇しました。

SSLの期限やWAFのログ、セキュリティ系プラグインのログを確認しましたが、明らかにおかしな痕跡は見つかりませんでした。

その後、バックアップの状態も気になり、UpdraftPlusのバックアップ先を確認しました。バックアップ先をConoHaサーバー内からGoogle Driveへ変更し、「今すぐバックアップ」で実際にバックアップが取れるかも確認しました。

ここまでは、サイトの安全確認とバックアップ確認の作業でした。

ところが、その流れで「そういえば最近、データベースのパスワードを変更していない」と思い、ConoHaの管理画面でデータベースのパスワードを変更しました。

そのあと、データベースにログインして最適化作業を行いました。

そしてサイトを確認すると、表示されたのが 「データベース接続確立エラー」 でした。

最初はデータベース最適化が原因だと思い込んだ

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

直前にデータベースを触っていたので、「最適化の作業で何かを壊したのではないか」と考えたわけです。

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

幸い、直前にバックアップを確認していたため、気持ちとしては少し安心していました。

しかし、バックアップを使って復元しても、エラーは解消されませんでした。

そこでようやく、「本当に最適化が原因なのか?」と考え直すことになります。

直前に行った作業が原因に見えても、実際には別の作業が影響していることがあります。今回も、原因はデータベース最適化ではありませんでした。

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

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

WordPressは、データベースに接続するための情報を wp-config.php というファイルに持っています。

ConoHa側でデータベースのパスワードを変更しても、WordPress側の wp-config.php に書かれているパスワードが自動で変わるわけではありません。

つまり、サーバー側では新しいパスワードになっているのに、WordPress側は古いパスワードでデータベースへ接続しようとしていた状態です。

これでは、WordPressがデータベースに接続できず、「データベース接続確立エラー」が表示されるのも当然でした。

wp-config.phpの接続情報を確認する

確認すべき場所は、WordPressの wp-config.php です。

このファイルには、データベース名、ユーザー名、パスワード、ホスト名など、WordPressがデータベースへ接続するための情報が書かれています。

wp-config.php内のデータベース接続情報を確認している画面

今回の場合、確認すると DB_PASSWORD に古いパスワードが残っていました。

ConoHa側で変更した新しいデータベースパスワードと、wp-config.php 側のパスワードを揃えることで、データベース接続確立エラーから抜け出すことができました。

wp-config.php はWordPressの重要な設定ファイルです。編集を間違えるとサイトが表示されなくなることがあります。作業前には必ずバックアップを取り、変更前の内容を控えておきましょう。

DBパスワードを変更するときに気をつけたいこと

今回の件で、データベースのパスワード変更は「サーバー側だけで完結する作業ではない」と分かりました。

WordPressがそのデータベースに接続している場合、サーバー側のDBパスワードと、WordPress側の wp-config.php の接続情報を揃える必要があります。

同じような作業をするときは、次の順番で確認すると安全です。

  1. 作業前にバックアップを取る
  2. 現在のDB名・ユーザー名・パスワードを控えておく
  3. サーバー側でDBパスワードを変更する
  4. wp-config.php 側の DB_PASSWORD も新しいものに変更する
  5. サイトと管理画面が表示されるか確認する

特に、パスワード管理ツールに頼っている場合でも、どの情報がWordPressの接続に使われているのかは整理しておいたほうが安心です。

データベース接続確立エラーが出たときは、データベースが壊れたと決めつける前に、DB名・ユーザー名・パスワード・ホスト名が正しいかを確認してみましょう。

バックアップを取っていたことで落ち着いて確認できた

今回、エラーが出たときに多少落ち着いて確認できたのは、直前にバックアップの状態を見直していたからです。

実際には、今回の原因はバックアップからの復元で解決するものではありませんでした。

それでも、「必要なら戻せる」という状態があるだけで、焦り方はかなり変わります。

WordPressでは、データベースや wp-config.php のような重要な場所を触る前に、バックアップを取っておくことが大切です。

バックアップは、問題が起きたときに必ず直接解決してくれるものではありません。けれど、落ち着いて原因を探すための保険になります。

まとめ

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

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

  • DBパスワードを変更したら、wp-config.php 側も確認する
  • データベース接続確立エラーでは、接続情報の不一致も疑う
  • 作業前にはバックアップを取る
  • 直前の作業だけを原因と決めつけず、変更した内容を順番に振り返る

WordPressのエラー画面はかなり焦りますが、原因を順番に切り分ければ、解決できることもあります。

同じように「データベース接続確立エラー」が出たときは、まずはデータベースの接続情報が正しいかを落ち着いて確認してみてください。

  • URLをコピーしました!

コメント

コメントする

目次