LoginSignup
0
0

More than 3 years have passed since last update.

mysqlのバージョンを8にしたらphpmyadminがログインできなくなった

Last updated at Posted at 2019-08-31

環境

mysql 8.0.17
docker 19.03.1

状況

mysqlのバージョンが5.7の時は問題なくログインできたが、バージョンを8にしたら、
phpmyadminが急にログインできなくなった

dockerで環境構築を行なっています。
localhostでのphpはちゃんと表示されている。
mysqlのコンテナの中に入ってmysqlの接続はできる。しかし。phpファイルからmysql接続と
phpmyadminからの接続ができないという状況でした。

ググったら、バージョン8.0からセキュリティが厳しくなったらしい
https://qiita.com/RayDoe/items/baf53818ec8e44d4d148

バージョン8から認証プラグインが「caching_sha2_password」になったらしい。

色々ググったら認証方法を前のバージョンの時と同じにすればいいということはわかったが、
なぜかうまく行かなかった

解決策

まず、認証に関するテーブルの中身を見る

mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+

認証方法を変更(今回はパスワードをsecretにしました)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secret';

どうなったか確認してみた

mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+

これでうまくいった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0