お世話になります。

データベースの権限付与がうまく行かずご教示いただきたいです。

目的

rootアカウントで作成したユーザーとデータベースを作成。
作成したデータベースに対して、作成したユーザーが操作できる様に権限を付与。

現状

操作

rootでログインした状態ですでに追加指定しているユーザーに対して、localhostからでもデータベースに接続できる様に設定。

$ mysql>GRANT ALL ON db.* TO 'admin'@'localhost';
  ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

rootのパスワードの強度が低いのが原因かと思い、下記くらいの強度に変更。(実際は別のパスワードです)
上記を再度実行するも同じエラー。

GpkdEdTGB@+fTRfQyTWxJ;,hzRmZiPq*WwxVDgxzmt2^DcquHwyE$oxUz#BYvVFA

passwordのヴァリデーションポリシー(?)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

操作に乗せたパスワードなので、公式に載っている下記の要件は満た背ているかと思います。

MEDIUM ポリシーは、パスワードが最低 1 つの数値文字を含み、1 つの小文字および大文字を含み、1 つの特殊文字 (英数字以外)
を含む必要があるという条件を追加します。

以上です。
関係ないかもしれませんが、設定も反映して見ましたが変わりませんでした。

mysql>flush privileges;

これはもっと難解パスワードを指定すればいい(何が足りない)のでしょうか?
それとも、他の方法で解決できるのでしょうか?

お手数をおかけしますがご教示願います。

追記

解決しました。

GRANT ALL ON db.* TO 'admin'@'localhost' identified by 'GpkdEdTGB@+fTRfQyTWxJ;,hzRmZiPq*WwxVDgxzmt2^DcquHwyE$oxUz#BYvVFA';

てっきり、root側の事を言っているのだと思っていたのですが、設定するユーザーのパスワードがないと言う事でした。