MySQLのユーザー名の文字数は16文字まで

仕事で使うシステムなのですが、データベース名は基本的に取得したドメイン名にしています。今回もそのつもりでデータベースを作成して、ユーザ作成兼権限を与えるコマンドをうつとエラーがでました。ちなみバージョンはmysql5.0です。

GRANT ALL PRIVILEGES ON abcdefghijklmnopqrst.* TO abcdefghijklmnopqrst@localhost IDENTIFIED BY '*********';
ERROR 1470 (HY000): String 'abcdefghijklmnopqrst' is too long for user name (should be no longer than 16)

もちろんテーブル名とユーザ名はこれと違いますが20文字でした。エラー部分を訳すと「ストリング'abcdefghijklmnopqrst'はユーザー名には長すぎます。16より少しも長くてはいけません。」という感じです。
そんなに長いユーザ名をつけるのは無駄ですし、そういう風にセキュリティをあげるよりは、SELECT権限のみ与えるなどの正しい権限を与えたり、ユーザ名はホスト部分を決めれるのでそこをちゃんとしたり、サーバ側でポート開放を制限したりと別の方法がよいと思います。