phpMyAdmin でログインできない (mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] エラー)

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

新しいパスワードでもう一度ログインできることを確認。

これでもう一度ログイン画面でユーザ名とパスワードを入力してみます。

phpMyAdmin ダッシュボード画面
phpMyAdmin ダッシュボード画面

ログインできました。

このテのもの、対応しましょうよ……。

参考

Laravel の話ですが、原因は同じなのでこれで充分。

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。