// パスワードを再設定 mysql > USE mysql; mysql > ALTER USER 'root'@'localhost' identified BY 'password';
これは、MySQL8.0から認証プラグインがこれまでの mysql_native_password より強力な caching_sha2_password になり、それにLaravelなどがまだ対応していない場合に起るエラーです。ユーザのパスワード暗号化方式を古いもの(mysql_native_password)に変えれば、これまで通り接続できます。
https://tech.bita.jp/article/32
/usr/local/etc/my.cnf
)を修正/usr/local/etc/my.cnf
)を修正/usr/local/etc/my.cnf
に以下追加。
[mysqld]
default_authentication_plugin=mysql_native_password
認証方式が変わっていることを確認
mysql> show variables like 'default_authentication_plugin';
<出力結果>
+-------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------+-----------------------+
| default_authentication_plugin | mysql_native_password |
+-------------------------------+-----------------------+
ユーザー個別に認証方式を変更。
mysql > ALTER USER 'example'@'localhost' identified WITH mysql_native_password BY 'password';
全体のパスワード認証方式を変更しても既存ユーザーの認証方式は変わらなかったので、ユーザーごとに認証方式を変更。