3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

docker-composeでMySQL8.0とphpMyAdmin環境構築

Posted at

##はじめに
ちょっとしたことだけど、詰まったのでメモ用に。
docker-compose でMySQL環境簡単構築の記事を参考に環境構築を行っていました。

##事象
上記の記事ではMySQL5.7でしたが、MySQL8.0でやるとphpMyAdminがコケる

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。

とか言われてしまう。
解決法を検索していると、コンテナ内のconfig.inc.phpをごちゃごちゃと触っているものが出てきてなんか面倒くさそうだった。

##解決方法
my.cnf

default_authentication_plugin=mysql_native_password

を追記したらちゃんとphpMyAdminが動きました。

具体的には上記の記事のmy.cnfに追記して

my.cnf
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
default_authentication_plugin=mysql_native_password

[client]
default-character-set=utf8mb4

と言った感じです。

##原因
MySQL 8.0にアップデート!注意すべき点を参照しておりますと、どうやらMySQL8.0の認証方法が(たぶん)変わったらしい。
そこで、旧MySQL Clientとの互換性を確保できる上記の文言を書くことで、とりあえず問題が突破できた感じになります。

3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?