問題
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
コメント