mysqlの認証方式の変更

mysql80を使っているので通常はcaching_sha2_passwordで認証するのですが、pkgでいろいろインストールするマシンはpkgがmysql57(ちょっと前まではmysql56)を前提としているため、mysql80-clientを導入できず、認証モジュールをmysql_native_passwordに変更したい時があります。
いつも変更方法を忘れてしまうため、備忘のためにやり方を書いておきます。

% mysql -u root -p
mysql> select user, host, plugin from mysql.user;
+--------+--------------+-----------------------+
| user   | host         | plugin                |
+--------+--------------+-----------------------+
| root   | localhost    | caching_sha2_password |
...(snip)...
| foo    | %            | caching_sha2_password |
| foo    | host1.domain | mysql_native_password |
+--------+--------------+-----------------------+
mysql> create user 'foo'@'host2.domain' identified with mysql_native_password by 'new_password';
mysql> select user, host, plugin from mysql.user;
+--------+--------------+-----------------------+
| user   | host         | plugin                |
+--------+--------------+-----------------------+
| root   | localhost    | caching_sha2_password |
...(snip)...
| foo    | %            | caching_sha2_password |
| foo    | host1.domain | mysql_native_password |
| foo    | host2.domain | mysql_native_password |
+--------+--------------+-----------------------+

もし、foo@host2.domainが既に存在している場合にはcreate userの代わりにalter userを使うこと。