wordpressでのDB接続エラーについて

phpバージョンアップ後にwordpressでデータベース接続確立エラーと画面に表示されてしましました。

この手の問題はDBのパスワード変更をした際にwordpressのwp-config.phpの設定ファイルのパスワードを変更し忘れた時等に起きるのですが、今回はmysqlは何も変更をしていません。

DBが壊れたのか?と考えましたがタイミング的にphpバージョンアップが起因していると思われるので調べました。

そうすると下記の事がわかりました。

・PHP5.3以降から、MySQLの古い形式のパスワードをサポートしなくなった

古い形式 : ハッシュ値の長さが16バイト

以前のPHPバージョンは5.3でしたがMySQLは古い形式のパスワードを使用していました。

解決策は簡単です。パスワードを新しい形式「41バイトハッシュ」で再作成する

取り急ぎmysql.iniでold_passwordsの値を変更します。

old_passwords=1

old_passwords=0

これで新しいパスワードは41バイトになります。

過去のパスワードはmysqlのpasswordコマンドで変更します。

パスワードの41バイトハッシュを作る

mysql> SELECT PASSWORD(‘password’);

+——————————————-+
| password(‘password’)                      |
+——————————————-+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+——————————————-+

パスワードを更新する

mysql> SET PASSEWORD FOR user@localhost = ‘*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’;

これで完了です。

無事wordpressが表示できるようになりました。

やはりバージョンアップはちゃんと影響確認しないと駄目ですよね。

 

 

 

コメントする