今回は弊社のお客さまであったトラブルの事例をご紹介したいと思います。事象としては、WordPressのダッシュボードにログインできない。公開しているサイトは正常に表示される。というものです。エラー表示はデータベース確立エラーだったり、wp-config.phpエラーだったりです。
サーバ会社を通して確認できたのが次の内容でした。MySQLのデータベースに接続するユーザーパスワードで、MySQL 5.7では廃止されている old_password (16桁ハッシュのパスワード) を使用していることが考えらる。というものです。つまり、MySQL 5.1(5.5)から5.7にアップデートした際に何らかの原因により発生していたと思われます。
それでは、そのold_passwordの属性を解除するための手順を説明していきます。
ただし、phpMyAdminの作業は十分慎重に行ってください。間違えてしまうと完全にデータベースが壊れてWordPressなどのアプリケーションにアクセスできなくなります。
と、冒頭から脅していますが手順に従って慎重に作業すれば問題なくできるはずです。
1. 利用しているアプリケーション(WordPress等)の種類を確認する
2. アプリケーションでMySQL接続に使用しているユーザー名とパスワードを必ず確認する
※ご利用のアプリケーションにより確認方法が異なります。
3. phpMyAdminにログインする
※ログインできない場合は、サーバ会社で異なりますので、ご契約されているレンタルサーバ会社へお問い合わせください。
4. 左側の項目から「mysql」をクリックする
5. 表示されたmysqlの項目から「user」をクリックする
6. 画面の右側にて、手順2で確認したユーザ名の左側「編集」をクリックする
7. 「Plugin」の項目で、入力項目に「mysql_native_password」と入力する
8. 「authentication_string」の項目で 、関数プルダウンから「PASSWORD」を選択し、値の欄に手順2で確認したパスワードを入力し、右下の「実行」をクリックする
9. 画面左上に表示された「メインページ」アイコンをクリックする
10. 「SQL」をクリックする。
11. テキストエリアに以下のSQL文を入力(コピーペースト)し「実行」をクリックする
flush privileges;
12. 「SQL は正常に実行されました」と表示されたら、phpMyAdminからログアウトする
これで、old_passwordの属性が解除されました。
参考:MySql公式リファレンス