Caramba, rs essa foi difícil..
Eu tentei aqui mas não foi dessa vez. rsrs
Achei um link http://stackoverflow.com/questions/11951570/mysql-create-user-with-a-variable
O mais perto que consegui chegar foi dessa forma abaixo;
No caso a chamada da Procedure dentro da trigger não tá dando :-( , uma forma seria listar os usuários já cadstrados no mysql e inserir;
Cria uma tarefa (rotina que roda de tempos em tempos) chamando a CALL teste , que de tempos em temos a procedure é acionada;
É apenas uma solução, mas creio que não é boa, rsrs
DELIMITER $$
CREATE PROCEDURE teste()
BEGIN
SET @nome:=null;
SELECT DISTINCT
@nome:=nome, @senha:=senha
from usuario
where
usuario.nome not in (select mysql.user.User from mysql.user where mysql.user.User=usuario.nome)
and usuario.nome is not null
and usuario.senha is not null
limit 1,1
;
SET @query1 = CONCAT('
CREATE USER "',@nome,'"@"localhost" IDENTIFIED BY "',@senha,'" '
);
PREPARE stmt FROM @query1; EXECUTE stmt; DEALLOCATE PREPARE stmt ;
END $$
DELIMITER ;
call teste ;