PHP 7.3からPHP 7.4にアップグレードしようとすると、次のエラーが発生しました。
cache_sha2 auth 109の実行中の予期しないサーバー応答
私が見ると、これはPHP 7.4 MySQLiがcaching_sha2_password
プラグインを使用しようとしていることを示しています。この記事は、PHP MySQLiがプラグインをサポートしていないことを示しています(プラグインの将来のサポートも示唆しています)が、PHP 7.4は新しく、使用しようとしているようなので、動作するはずです。また、エラーメッセージは、サポートされていなかった場合とは異なります(アクセス拒否と認証方法が不明)。
そこで、MySQL認証プラグインをcaching_sha2_password
(以前と同じパスワードを使用して)に変更しました。
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '';
FLUSH PRIVILEGES;
しかし、これは別のエラーを引き起こしました:
ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)。
PHP 7.3に戻すとmysql_native_password
、再び機能します。
両方のプラグイン、同じWebサイトに同じパスワードを使用し、同じphp.iniの変更を適用しました。ただし、mysqli
構成は変更しませんでした。MySQLのログには何も表示されず、apache2ログには「アクセスが拒否されました」というエラーメッセージのみが表示されます。
php7.4-mysqliはサポートしていcaching_sha2_password
ますか?はい
パスワードが拒否されたのはなぜですか、どうすれば修正できますか? フォローアップの質問を見る
また、MySQLiがプラグインをまだサポートしていない場合:どうすれば使用できmysql_native_password
ますか?
Access Denied
また戻ってきます。