各バージョン
- Laravel Framework 5.8.35
- MySQL 8.0.17
- Vue 2.5.17
- vue-axios 2.1.5
やったこと
MySQL8の認証方式の記事をいくつか読み、直した。ちなみにこれまでいくつかMySQLとLaravelを使ったアプリを作ったが、できていた。
// .env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=データベース名 (確認済み) DB_USERNAME=tsubasa (確認済み) DB_PASSWORD=パスワード (確認済み)
→これはSequel proで動いているため、接続に関しては間違いはほぼ確実にないと思われる。
>SELECT user, host, plugin FROM mysql.user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | forge | % | caching_sha2_password | | forge1 | % | caching_sha2_password | | tsubasa | % | mysql_native_password | | banana | localhost | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+
となっています。mysql_native_password でないとダメなことは知っているため、現在は tsubasaのユーザーでしか、使っていません。
http://127.0.0.1:8000/api/songs にアクセスすると(Vueを使っているため、/api/を使う)
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from songs
)
と出てしまいます。
同様にpost関係をしても、同じく権限で引っかかっていることは間違い無いです。
原因かもしれない点
画像の下の方に、
PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]") /Users/tsubanana/Downloads/program/utakan/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=laravel", "root", "", []) /Users/tsubanana/Downloads/program/utakan/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
と出ています。
the client [caching_sha2_password]という部分も先ほど書いた通り、『mysql_native_password』にしていますし、
2ポイント目の"mysql:host=127.0.0.1;port=3306;dbname=laravel", "root" は初期設定のままのようですが、ユーザー名: tsubasaなどと設定しているつもりです。
これを直そうとエラーになっているファイルである、書いてある、Connector.php:70を見ましたが、変数になっているようで、どこに行けばいいのか検討がつきません。
つまり、別の.env的な存在がいて、それが反映されてしまっているようなのです。
どなたかご教授いただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー