Estou no MySQL 8.0.28 e tenho esta função:
DELIMITER $$
CREATE FUNCTION DelayedHello()
RETURNS VARCHAR(20)
DETERMINISTIC
BEGIN
DO SLEEP(3);
RETURN CONCAT('Hello ', 'World!');
END$$
DELIMITER ;
E isso foi criado pelo usuário root.
Mas quando um usuário chamado test
executa essa função, no show processlist
, é isso que vejo. Então, parece que o usuário root
está executando.
127.0.0.1> select * from information_schema.processlist ;
+-------+-----------------+------------------+-----------+---------+---------+------------------------+----------------------------------------------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+-------+-----------------+------------------+-----------+---------+---------+------------------------+----------------------------------------------+
| 48547 | root | %:40814 | helpscout | Query | 1 | User sleep | DO SLEEP(3) |
Tentei consultar information_schema.processlist
para ver o usuário, mas ele retornou a mesma informação de que o usuário root parece estar executando isso. Então, existe uma maneira de mostrar na lista de processos que é quem test
está executando isso? Caso contrário, como descubro quem realmente chamou essa função?