GRANT est destiné à ajouter des privilèges aux utilisateurs. De manière déroutante, il a également la possibilité de créer des utilisateurs et de modifier leurs mots de passe. Cette fonctionnalité est obsolète et ne doit pas être utilisée.
Si vous utilisez GRANT avec IDENTIFIED vous pouvez modifier le mot de passe de l'utilisateur :
Aussi, GRANT peut créer l'utilisateur s'il n'existe pas :
Voir https://dev.mysql.com/doc/refman/ 5.7/fr/grant.html
En résumé, utilisez CREATE pour créer un utilisateur, et utilisez GRANT pour ajouter des privilèges :
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database.* TO 'username'@'localhost';