phpMyAdmin でログインしようとしたら以下のエラーで怒られてしまいました。
mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
caching_sha2_password
? これってもしかして……
# mysql -u root -p
MySQL に CLI から接続。
mysql> SELECT host,user,plugin FROM mysql.user where user='LOGINUSER';
+-----------+-----------+-----------------------+
| host | user | plugin |
+-----------+-----------+-----------------------+
| localhost | LOGINUSER | caching_sha2_password |
+-----------+-----------+-----------------------+
1 row in set (0.00 sec)
やっぱり。
mysql> set password for 'LOGINUSER'@'localhost' = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
Query OK, 0 rows affected (0.02 sec)
mysql> alter user 'LOGINUSER'@'localhost' identified with mysql_native_password by 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
Query OK, 0 rows affected (0.05 sec)
mysql> SELECT host,user,plugin FROM mysql.user where user='LOGINUSER';
+-----------+-----------+-----------------------+
| host | user | plugin |
+-----------+-----------+-----------------------+
| localhost | LOGINUSER | mysql_native_password |
+-----------+-----------+-----------------------+
1 row in set (0.00 sec)
変更できたことを確認。
mysql> quit;
Bye
#
いったんログアウトして
# mysql -u LOGINUSER -p
Enter password:
mysql> quit;
Bye
新しいパスワードでもう一度ログインできることを確認。
これでもう一度ログイン画面でユーザ名とパスワードを入力してみます。
ログインできました。
このテのもの、対応しましょうよ……。
参考
Laravel の話ですが、原因は同じなのでこれで充分。