WordPressでError establishing a database connectionエラー時の原因と対処手順

WordPressでError establishing a database connectionエラー時の原因と対処手順

エラーの原因と解消方法

WordPressのMySQLテーブルである「wp_options」テーブルが破損

原因
WordPressは、自動でMySQLのデータベースにいくつかのテーブルを作成します。そのひとつである「wp_options」テーブルが破損していたため、エラーが発生しました。

テーブル破損の原因は不明ですが、普段の利用でもテーブルの破損はあり得ることで、テーブルの多くが破損した状態のままシステム最起動したことで、起動後にデータベースへの接続ができなくなっていました。

解消方法
MySQLのコマンドで、破損した「wp_options」テーブルを自動修復します。

その他のエラー原因と解消方法

この記事の下の方にまとめています。






「wp_options」テーブルの破損を修復し、エラーを解消するための手順

1)WordPressで利用するレンタルサーバへroot権限でログイン

> root

このあとパスワードを訊かれるので、rootのパスワードを入力

2)mysqlへログイン

# mysql -u root -p

このあとパスワードを訊かれるので、MySQLのパスワードを入力

3)プロンプトが「mysql」に変わるとログイン完了

プロンプト(コマンドが入力できる左側にでる表示)が以下に変わると、MySQLへのログインに成功です。

mysql>

4)WordPressのユーザへ切替

「WordPressの利用ユーザ」としてMySQLに登録されたIDの利用を宣言します。ここでは「wordpress」となっていますが、MySQLのインストール時に別のIDを付与した場合、そのIDを付与します。

mysql> use wordpress;

Database changed

「Database changed」が出るとユーザ切替が完了です。

5)「wp_options」のエラーをチェック

まずは、本当に「wp_options」テーブルが破損しているかコマンドでチェックします。

mysql> check table wp_options;

+———————-+——-+———-+———————————-+
| Table | Op | Msg_type | Msg_text |
+———————-+——-+———-+———————————-+
| wordpress.wp_options | check | warning | Table is marked as crashed |
| wordpress.wp_options | check | warning | 6 clients are using or haven’t closed the table properly |
| wordpress.wp_options | check | error | Record at pos: 393772 is not remove-marked|
| wordpress.wp_options | check | error | record delete-link-chain corrupted|
| wordpress.wp_options | check | error | Corrupt |
+———————-+——-+———-+———————————-+
5 rows in set (0.01 sec)

テーブルにエラーがあることを示す「warning」や「error」が表示されています。
このエラーをコマンドで修復する必要があります。修復と言っても、MySQLが自動で修復してくれます。

6)壊れたテーブルを修復

mysql> repair table wp_options;

+———————-+——–+———-+———————————+
| Table | Op | Msg_type | Msg_text |
+———————-+——–+———-+———————————+
| wordpress.wp_options | repair | warning | Duplicate key for record at 390084 against record at 162520 |
| wordpress.wp_options | repair | warning | Number of rows changed from 328 to 326 |
| wordpress.wp_options | repair | status | OK |
+———————-+——–+———-+———————————+
3 rows in set (0.04 sec)

赤字の箇所に「OK」が出ているので修復されたようです。

7)「wp_options」のエラーを再チェック

修復されたことを、改めてチェックコマンドで確認します。

mysql> check table wp_options;

+———————-+——-+———-+———-+
| Table | Op | Msg_type | Msg_text |
+———————-+——-+———-+———-+
| wordpress.wp_options | check | status | OK |
+———————-+——-+———-+———-+
1 row in set (0.00 sec)

ステータスは「OK」なので、修復が完了しました。






その他のエラー原因と解消方法

MySQLに関する情報を定義する「wp-config.php」の設定内容に誤りがある

WordPressのファイルの中に「wp-config.php」というファイルがあります。このファイルに以下の情報が設定されていますが、この情報の記述に誤りがある等で、

wp-config.phpの設定内容 ≠ MySQLの設定内容

である場合に、このエラーが発生します。

「wp-config.php」に設定されるMySQLに関する情報

  1. データベース名
  2. データベースのユーザー名
  3. データベースのパスワード
  4. データベースのホスト名
スポンサーリンク

シェアする

フォローする