この記事では、サーバーをMySQL 5.6.5以降にアップグレードした後に発生する問題と、その解決方法について説明します。
サーバーにインストールされているMySQLのバージョンがわからない場合は、次の手順に従ってください。- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelホーム画面の右側のサイドバーの[一般情報]で、[サーバー情報]をクリックします。
- [サーバー情報]で、[MySQLバージョン]行を見つけて、サーバーにインストールされているMySQLバージョンを確認します。
MySQL 5.6.5以降を実行しているサーバー上のデータベースにアクセスしようとすると、正しいユーザー名とパスワードを使用していても、ログインに失敗します。
たとえば、サイトでWordPressを実行している場合、次のエラーメッセージが表示されます。
Error establishing a database connection
他のWebアプリケーションでは、データベース接続エラーに関する同様のメッセージが表示される場合があります。
この問題は、MySQL5.6.5以降のバージョンがユーザーパスワードに新しいハッシュ方式を使用しているために発生します。これらの新しいバージョンのMySQLは、パスワードを保存するために古いバージョンのMySQLで使用されていたハッシュ方式をサポートしていないため、ログインは失敗します。
この問題を解決するには、データベースユーザーを削除して再作成する必要があります。これを行うと、MySQLは新しいハッシュメソッドを使用してパスワードを保存し、データベースユーザーは再度ログインできます。
これを行うには、次の手順に従います。
- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelホーム画面の[データベース]セクションで、[MySQL®データベース]をクリックします。
- [現在のユーザー]で、再作成するデータベースユーザーを見つけて、[削除]をクリックします。
- [ユーザーの削除]をクリックして削除を確認し、[戻る]をクリックします。
- [新しいユーザーの追加]の[ユーザー名]テキストボックスに、手順3で削除したユーザーのユーザー名を入力します。
-
[パスワード]テキストボックスに、ユーザーパスワードを入力します。
ユーザーの新しいパスワードを作成する必要はありません。パスワードを変更しない場合は、以前のパスワードを使用できます。現在のパスワードを確認するには、アプリケーションの構成ファイルを確認してください。たとえば、WordPressを実行している場合は、 wp-config.phpを確認してください。 データベース構成情報のファイル。
-
[パスワード(再度)]テキストボックスに、ユーザーパスワードを再入力します。
または、[パスワードジェネレータ]をクリックすると、cPanelがランダムで強力なパスワードを生成します。
- [ユーザーの作成]をクリックします。 cPanelは、新しいハッシュ方式を使用してデータベースユーザーを作成し、パスワードを保存します。