どうも、株式会社SNACのまつです!
この記事では「WordPress接続確立エラーになる原因と対処法」を解説します。僕が使っているサーバーはエックスサーバーなので、こちらのサーバーを事例に解説していきます。
WordPress初心者にとって「急に画面が真っ白になる」こんな恐怖はありませんよね。画面と共に頭も真っ白。
焦っていじくり回してしまえば更にわからなくなり、頭髪を抜き散らかし、白髪は増える一方。「画面も髪の毛も白くなる、上手いねえ!!」なんて言ってる場合ではないんです、即刻直さなければ。
よくある接続確立エラーの原因から解説しているので、上から順番に読んでいくことをおすすめします。
データベース接続確立エラーとは?
データベース接続確立エラーとは「サーバーとデータベースの間でプログラムの不具合がありますよ~」というエラーのことです。
例えばであなた(サーバー)が自動販売機(データベース)に120円を入れてコーラボタンを押した(要求した)のに、何故かコーラが出てこない(応答がない)状態です。
プログラムを作動したはずなのに何故か反応がない。
でもあなたはちゃんと存在するし、自動販売機にコーラは入っていますよね?データベース接続確立エラーとは正にこの状態です。
つまりデータベース接続確立エラーが起こった段階では
- データは消えていない
ということです。あくまでサーバーがデータベースから情報を取り出す過程でエラーが起きているのです。
WordPressのデータベース接続確立エラーの5つの原因と対処法
WordPressでデータベース接続確立エラーが起きる主な原因は以下の5つになります。
①データベースのログイン情報が間違っている
まずはデータベースのログイン情報の不一致です。
データベースとはWordPressのサイト情報(画像・文章・ログイン情報など)が格納されている場所で、サイト表示の際にはデータベース内の情報を表示しています。
しかしデータベース内にアクセスするためのログイン情報が間違っていると、データベースにアクセスできず接続確立エラーが起きてしまうのです。
データベースの接続を確立させるには以下の4つがすべて正しい情報である必要があります。
- データベース名
- データベースのユーザー名
- データベースのパスワード
- データベースのホスト名
これらの中で1つでも不一致があるとデータベース接続確立エラーが起きてしまいます。それらを修正する必要があります。※データベース側の情報に何も手を付けていないことが条件です。
【解決策】wp-config.phpのデータベース情報を一致させる
データベースへのログイン情報が間違っている場合はサーバー内にある「wp-config.php」というphpファイル内を修正する必要があります。
この記事ではエックスサーバーを使ってWordPressの「wp-config.php」ファイルを修正するやり方を解説するので参考にしてください。
自分のドメイン名のフォルダをクリックしてください。
「public_html」をクリックしましょう。
左側のローカルを「デスクトップ」にした状態で
「wp-congig.php」をデスクトップにドラッグします。
「wp-config.php」ファイルを
「Terapad」などのテキストエディタで開きましょう。
ファイルを開いて30番目の列あたりにデータベース情報が格納されています。下記のコードです。
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘データベースユーザー名‘);/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘データベースのパスワード‘);サーバーファイルの情報とデータベース側の情報に不一致な部分があるためエラーが起きている。「wp-config.phpの情報」「エックスサーバーのデータベース情報」を一致させることで解決する。
となります。
ここまで読んでまったく意味がわからない人でも画面を見ながら作業をすれば大丈夫なので安心してください。
つまりは「ユーザー名とパスワード間違っとるで」ということなので、それを修正すればOKです。
【解決策】「wp-config.phpの情報」「エックスサーバーのデータベース情報」を一致させる
データベースのログイン情報を一致させるやり方を解説します。この記事はエックスサーバーを使ったやり方ですが、おおまかな部分はどのサーバーでも似ていると思います。
ロリポップやさくらサーバーなど別のサーバーの場合は、公式ヘルプなどで対処していただければと思います。では早速やってみましょう。
まずはエックスサーバーのアカウントにログインをして、wp-config.phpファイルを取り出す作業をします。
ではエックスサーバーの公式サイトにアクセスしてください。
「ログイン」→「Xserverアカウント」の順にクリックします。
ID(またはメールアドレス)とパスワードを入力してログインしましょう。
「ファイル管理」をクリックします。
接続確立エラーになっているWordPressサイトをクリックしましょう。
「public_html」をクリックします。
「wp-config.php」ファイルが見つかりました。
似たもので「wp-config.sample.php」というファイルがありますが、ぜんぜん違うので間違えないように気をつけてください。
「wp-config.php」を選択した状態で「ダウンロード」をクリックしましょう。
ダウンロードします。
wp-config.phpがダウンロードできました。このファイルをTerapadなどのテキストエディタツールで開きます。ダウンロードするだけで使えるので、持ってない人はダウンロードしてください。
ファイルをTerapadにドラッグして開きます。
ファイルが開けたら30列目くらいに移動します。
データベースのログイン情報が出てきました。今回使うのは以下の情報です。
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘データベースユーザー名‘);/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘データベースのパスワード‘);
このデータベースユーザー名とパスワードの情報が間違っている可能性があるので、エックスサーバーのサーバーパネル内にある「MySQL設定」で修正していきます。
ではエックスサーバーの公式サイトにアクセスしてください。
「サーバーパネル」をクリックしましょう。
サーバーIDとパスワードでログインします。
設定対象ドメインを接続確立エラーが起きているドメインにしてください。
「MySQL設定」をクリックします。
「MySQLユーザ一覧」を選択しましょう。ここで先程の「wp-config.php」内に記載されていたデータベースユーザー名を探します。
該当するデータベースユーザー名を発見したらパスワードを「変更」をクリックします。
このパスワードをwp-config.phpに記載されていたパスワードを入れましょう。忘れた人の為にこちら。
↓↓↓
define(‘DB_PASSWORD’, ‘データベースのパスワード‘);
上記のパスワードを設定しておけばデータベースのユーザー名・パスワードが一致するはずです。これで解決すればデータベースのログイン情報の間違いだったということになります。
②データベースの破損
次はデータベースが何らかの原因で破損してしまった場合です。WordPressプラグインを利用したり、バージョンとのかみ合わせの悪さなどが原因で破損してしまうことがあります。
データベースが破損してしまった場合は破損前の状態に戻すのがおすすめです。エックスサーバーなら簡単にできるのでやってみましょう。
まずはエックスサーバーのサーバーパネルにログインします。
設定対象ドメインをエラー中のものにしてください。
「MySQL復元」をクリックしましょう。
自分のドメインに該当するデータベース名を探します。「データベースがわからないよ!」という人は「原因1」で解説した「wp-config.php」ファイル内にあるデータベース名です。
「WordPressのためのデータベース名」の下の38番目の列にあるのがデータベース名です。このデータベースが破損している可能性があるので、破損前の状態に復元していきます。
復元する日付を選択できるので、エラーが起きる以前の日付に戻してみましょう。エックスサーバーでは自動バックアップをしてくれているので、何かあっても安心なのが嬉しいですね。
日付を選択肢たら「復元」をクリックして完了まで待ちましょう。
③wp-config.phpのパーミッションが不正
3つ目の原因は「wp-config.php」のパーミッションによってエラーが起きている場合です。
よくわからないと思いますし、僕もよくわからないので覚えなくて大丈夫です。やり方はまずエックスサーバーのアカウントパネルにログインします。
「Xserverアカウント」をクリックしましょう。
メールアドレス、パスワードでログインします。
「ファイル管理」をクリックしてください。
ドメインを開いてください。
「public_html」を開きます。
「wp-config.php」を選択した状態で「パーミッション変更」をクリックしてください。
このパーミッションを「444」に変更します。これで完了です。何らかのトラブルが起こった場合は元のパーミッションに戻してください。
④サーバー側で障害が起きている
次はサーバー側で障害が起きている場合です。もしレンタルサーバー側で何らかのトラブルが起きている場合、接続エラーが起きます。
たまに一瞬だけ接続エラーになったけど数秒したら正常に戻った、などの場合はサーバー側のトラブルの可能性が高いですね。
Twitterで「Xserver」「エックスサーバー」「Xサーバー」などで調べると「落ちてる?」などの情報が出てくるので確認してみましょう。
⑤データベース内の容量が増えすぎた場合
僕はなったことがありませんが、データベース内の容量が増えすぎた場合でもデータベース接続確立エラーになることがあるそうです。
例えば
- サイトを10年以上運営している
- ブログが1500記事以上ある
- プラグインが大量(30個以上)に入っている
などでデータベース容量が圧迫されたり、長期間の運用で余分なデータが溜まるとディスクが圧迫されてしまう場合があります。
対処方法としては
- アクセスのない記事を削除する
- いらない下書きを削除する
- 不要なプラグインを削除する
- ディスククリーンアップをする(プラグイン等)
などを試してみるのが良さそうです。特にプラグイン干渉によってサイトが重くなったり、突然のエラーが起きたりすることはよくあるので、なるべくWordPressテーマ内の機能で運営するのが好ましいですね。
WordPressのデータベース接続確立エラー時に心がけるべきこと
もしWordPressのデータベース接続確立エラーになった際は、焦らずに以下の対処を取りましょう。
- 手を止める
- 原因を調べる
- 自分が行った作業を思い出す
- 自分より詳しい人に相談する
データベース接続確立エラーが起きた際に初心者がやってしまいがちなのが「焦ってガチャガチャいじくり回す」です。これをやってしまうと、詳しい人でも原因がわからなくなってしまい対処できなくなります。
WordPressのデータベース接続確立エラーは「接続ができないエラー」なのでデータ自体は消えていませんし、データベースの削除やドメインデータのまるごと削除など致命的な操作をしていなければすぐに取り戻せます。
まずは焦らずに手を止め、すぐに自分の行った作業を書き出すようにしましょう。
まとめ
ではWordPress接続確立エラーの原因別対処法のまとめです。
原因 | 対処法 |
データベース情報の間違い | 「wp-config.phpのデータベース情報」と「エックスサーバーのMySQL情報」を一致させる。 |
データベースの破損 | エックスサーバーの「MySQL復元」を使う |
パーミッションが不正 | パーミッションを「444」にする |
サーバー側障害 | 天命を待つ |
データベース容量が増えすぎた |
|
WordPressのデータベース接続確立エラーは1つ1つ対処していくことが重要です。焦ってわからないままいじってしまうと更に重大なエラー発生につながってしまうので、決して焦らず丁寧に対処していきましょう。