¿Leíste bien lo que te puse?
El tema es simple: La conexión que usas le pertenece al root (muy mal hecho por cierto, ese usuario no se debe utilizar si no es para tareas administrativas). Es con el username
root con el que abres la conexión, y para MySQL ese es el único usuario que está. Los usuarios que administres en
tu base por programación,
no existen para MySQL. Sólo existen para tu aplicación.
¿Se comprende la diferencia?
La única solución que yo le veo q lo que quieres hacer es, apenas abres la conexión, cargar una variable de usuario con el nombre del usuario que se loguea en tu programa:
y recién entonces hacer el insert que dispare el trigger.
Pero el trigger debería tener esta sintaxis:
Como las variables de usuario existen sólo en la conexión donde se usan, y mientras la conexión no se cierre, no te traerán problemas ni con la memoria, ni con otros usuarios (dos conexiones diferentes del mismo usuario pueden utilizar el mismo nombre de variable y diferente contenido sin que se generen conflictos).