All stored programs (procedures, functions, triggers, and events) and views have a DEFINER. If the DEFINER is not specified, the user who creates the object will be chosen as DEFINER.
Stored routines (procedures and functions) and views have an SQL SECURITY characteristic with a value of DEFINER or INVOKER to specify whether the object executes in the definer or invoker context. Triggers and events have no SQL SECURITY characteristic and always execute in the definer context. The server invokes these objects automatically as necessary, so there is no invoking user.