Dans la mesure où on ne précise pas de mot de passe, il semble inutile de préciser «... IDENTIFIED BY ...»
Pour les commandes de création d'utilisateurs, ce n'est pas très compliqué, voici par exemple ce que fait copmme requête PHPMyAdmin lors de la création d'un utilisateur avec quasiment tous les privilèges sur le serveur :
CREATE USER 'test2'@'%';
GRANT
SELECT ,
INSERT ,
UPDATE ,
DELETE ,
CREATE ,
DROP ,
FILE ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ,
CREATE VIEW ,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE
ON * . *
TO 'test2'@'%'
WITH
MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES
ON `test2\_%`.*
TO 'test2'@'%';
On distingue trois requêtes successives :
- la première crée l'utilisateur;
- le seconde lui donne les privilèges sur les structures et les données;
- la troisième lui accorde tous les privilèges partout.
Là, c'est un utilisateur sans mot de passe, donc on indique nulle part «... IDENTIFIED BY ...» mais pour les raisons invoquées plus tôt, ça peut se révéler à terme extrêmement dangereux.
______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)