概要
- MySQL8系にてすでに作成されているMySQLユーザーの認証プラグインを「mysql_native_password」に変更する方法をまとめる。
方法
-
初期状態のMySQLのrootユーザーがどの認証プラグインを用いているか確認してみる。
mysql> select user, plugin from mysql.user; +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | root | caching_sha2_password | +------------------+-----------------------+
-
↑やはり当該のrootユーザーはMySQLの新しい認証プラグインである「caching_sha2_password」が採用されているようだ。
-
下記SQL句(
alter user
)を実行してrootユーザーの認証プラグインを「caching_sha2_password」から従来の「mysql_native_password」に変更する。(パスワードポリシーは「大文字・小文字・特殊文字を含む」だった気がする。)alter user 'root'@'localhost' identified with mysql_native_password by '認証プラグイン変更後にrootユーザーに設定するパスワード';
-
マイグレーションに用いる予定のMySQLのrootユーザーの認証プラグインがmysql_nateve_passwordに変更になっているか確認してみる。
mysql> select user, plugin from mysql.user; +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | root | mysql_native_password | +------------------+-----------------------+
-
↑無事に切り替わっているようだ。これで問題なさそう。