せいかつのーと

せいかつのーと

やってわかった!生活の知恵まとめサイト

WordPressでError establishing a database connectionのエラーが出たときの対処手順

f:id:nakagawatakashikun:20170708081337p:plain

 エラーの原因

エラー原因はいくつか考えられるようですが、今回は、MySQLのひとつのテーブルwp_options」が破損していたためでした。

 

エラーの解消方法

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

 

エラーを解消するための手順

1)mysqlへログイン

# mysql -u root -p

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

 

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

mysql>

 

3)WordPressのユーザへ切替

mysql> use wordpress;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

Database changed」が出るとユーザ切替完了

 

4)「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」が表示されています。

このエラーをコマンドで修復する必要があります。

 

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

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」が出ているので修復されたようです。

 

6)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」なので、修復が完了しました。