私はphp 7.2.2とmysql 8.0を使用しています。
適切な資格情報で接続しようとすると、次のエラーが表示されます。
PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
問題のトラブルシューティングに助けが必要です。
MySql installation picture :mysql> = 8を使用したいが、caching_sha2_passwordを気にしない場合は、インストール時に2番目のオプションを選択するだけです。
どこかでこれを見つけました。どこにあるか(または私が信用するだろうか)覚えていませんが、MySQL 8が良くなるまではうまくいきます。そして、PHPはMySQLのcache_sha2_passwordの準備ができています。
MySQL Shell(コマンドプロンプトなど)の場合:
CREATE USER username@localhost identified with mysql_native_password by 'password';
sernameはユーザー名で、passwordはそのユーザーのパスワードです。
その後、シェルにアクセス権を追加できます。または、ユーザーが認証タイプ:Standardであるため、ワークベンチにアクセス権を追加できます。
alter user 'username'@'localhost' identified with mysql_native_password by 'password';
ここでailionx
が示唆するとおり: https://github.com/laradock/laradock/issues/139
(新しい認証方法で)mySQL 8を使用するには、PHPをアップグレードするだけで済みます。
MySQL 8
7.1.16より前のPHPバージョン、または7.2.4より前のPHP 7.2を実行する場合、MySQL 8サーバーのデフォルトのパスワードプラグインをmysql_native_passwordに設定します。 Caching_sha2_passwordが使用されていない場合でも、クライアント[caching_sha2_password]が認識できない認証方法。