MMiyauchi Blog

WordPress公式コンテナのError establishing a database connection(データベース接続確立エラー)の修復

Error establishing a database connection(データベース接続確立エラー)という、たまに見かけるDB接続エラーの対応

DBが落ちてくれたほうが分かりやすいのだが…とかは言わないとして、サイトは生きているけどもDBへの接続に失敗し、コンテンツの表示ができないのでほとんど死んでる感じな状態を修復する手順である。DockerhubのWordPressの公式コンテナを対象にしたものになっている。手順などは下記のサイトで紹介されているように、wp-config.phpへDB修復のコードを追加してページにアクセスして修復を行う。

突然の「データベース接続確立エラー」への対処 WPALLOWREPAIR – Daily GLOCALISM

http://daily.glocalism.jp/wordpress/how-to-wp_allow_repair/

Dockerコンテナ内でのError establishing a database connection復旧の手順

Dockerコンテナ内での作業が前提なので、docker execないし、docker-compose execないしで、コンテナ内に入るか、コンテナに対してコマンドを発行する。コンテナ内に入っているを条件に、実行手順を書いていく。

# wp-config.phpの場所を調べ、/var/ww/html配下にwp-config.phpがあることを確認
$ find / -name "wp-config"
/var/www/html/wp-config.php
/var/www/html/wp-config-sample.php
/usr/src/wordpress/wp-config-sample.php
# 別にechoでなくても良いのだが、viが入っていなかったのでechoで該当の設定ファイルに修復オプションを追記
$ echo "define('WPALLOWREPAIR', true);" >> /var/www/html/wp-config.php

最初ハマったのが、デフォルトのワーキングディレクトリにあるものじゃない/usr/src/wordpress/を見ていて(※逆にワーキングディレクトリを最初に確認していればこのような記事を書くに至らなかった)、設定関連のファイル一式が置いてあるのにwp-config.phpだけないなー?とかやっていたので、同じ罠にはまらぬ人が出ないように念のためfindコマンドを使ってwp-config.phpの場所を検索している。

あとは、ブラウザからで/wp-adminのページにアクセスすれば、修復を実行できる。

モバイルバージョンを終了