詳細
Dockerコンテナ内にビルドしているMySQLへPDOをnewした時に、
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
のエラーが発生します。
環境
PHP: v7.2 MySQL: v5.6
該当のソースコード
PHP
1class DB 2{ 3 private $pdo; 4 public function __construct() 5 { 6 $this->pdo = new \PDO( 7 'mysql:dbname=testdb;host=127.0.0.1;port=3306', 8 'username', 9 'password', 10 [ 11 \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, 12 \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, 13 ] 14 ); 15 } 16}
試したこと
Web上に出ていた下記の対応は実施済みですが、解決に至っていません。
- MySQLがv8.0以上だと発生するので、ダウングレード
- ユーザの認証方法が
caching_sha2_password
になっていると発生するため、mysql_native_password
に変更
何卒ご助力ください。
よろしくお願いいたします。
あなたの回答
tips
プレビュー