[Laravel] PDOException : SQLSTATE[HY000] [2006] MySQL server has gone away

Laravel
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

問題

Laravelを使用したアプリケーションをローカル環境で開発してたとき、
PCを再起動したらDBに接続できなくなった!

PDOException : SQLSTATE[HY000] [2006] MySQL server has gone away

Exception message: PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109

コマンドやただのPHPからは接続できるのに、Laravelだけダメ!

原因

パスワードがcaching_sha2_passwordではなかったから?

解決策

ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';

パスワードをcaching_sha2_passwordにしたら解決した。🤔

PCを再起動したら使えなくなったのは謎…。
確かにその前にDBをインストールしなおしてユーザーも新たに作って、
phpMyAdminを使うためにパスワードの暗号化形式を変更したから、それが原因だろうけれど、
再起動する前は使えてたのに…。

参考

Attention Required! | Cloudflare

コメント