C'est la seule façon dont j'ai réussi à créer un utilisateur, malheureusement, il n'utilise pas d'espace réservé pour les variables utilisateur :
SET @user := 'foo';
SET @host := 'localhost';
SET @pass := 'bar';
SET @sql := CONCAT("CREATE USER ", QUOTE(@user), "@", QUOTE(@host), " IDENTIFIED BY ", QUOTE(@pass));
PREPARE stmt FROM @sql;
EXECUTE stmt;
PS {CREATE | RENAME | DROP} USER
les instructions doivent être prises en charge à partir de MySQL 5.1.12