MySQLのデフォルトの認証プラグインがMySQL8で mysql_native_password から caching_sha2_password に変わっていたという話。

MySQL ではデフォルトで使用していた認証プラグインが mysql_native_password でしたげ、 MySQL 8.04 以降は caching_sha2_password に変更となりました。

ref. MySQL | 認証プラグインを指定してユーザーを作成する

古い認証プラグインを使いたい場合

古い認証プラグインを使いたい場合、下記の2通りのやり方がある。

SQLで指定

create user 時に認証プラグインを mysql_native_password に指定する。

create user foo@localhost identified with mysql_native_password by 'mypassword';

設定ファイル

設定ファイル(my.ini)で書き換える方法もある。

下記のように設定してサーバーrestartすれば設定できる。

[mysqld]
default_authentication_plugin = mysql_native_password