Privileges Provided by MySQL Enables setting the effective authorization ID when executing a view or stored program. A user with this privilege can specify any account as the  DEFINER  attribute of a view or stored program. As of MySQL 8.0.22,  SET_USER_ID  also enables overriding security checks designed to prevent operations that (perhaps inadvertently) cause stored objects to become orphaned or that cause adoption of stored objects that are currently orphaned. For details, see Orphan Stored Objects. Enables a user to access definitions and properties of all stored routines (stored procedures and functions), even those for which the user is not named as the routine  DEFINER . This access includes: Prior to MySQL 8.0.20, for a user to access definitions of routines the user did not define, the user must have the global  SELECT  privilege, which is very broad. As of 8.0.20,  SHOW_ROUTINE  may be granted instead as a privilege with a more restricted scope that permits access to routine definitions. (That is, an administrator can rescind global  SELECT  from users that do not otherwise require it and grant SHOW_ROUTINE  instead.) This enables an account to back up stored routines without requiring a broad privilege. The  SYSTEM_USER  privilege has an effect on the accounts to which a given user can apply its other privileges, as well as whether the user is protected from other accounts: The protection against modification by regular accounts that is afforded to system accounts by the SYSTEM_USER  privilege does not apply to regular accounts that have privileges on the  mysql  system schema and thus can directly modify the grant tables in that schema. For full protection, do not grant mysql  schema privileges to regular accounts. See Protecting System Accounts Against Manipulation by Regular Accounts. • SHOW_ROUTINE  (added in MySQL 8.0.20) •The contents of the  INFORMATION_SCHEMA.ROUTINES  table. •The  SHOW CREATE FUNCTION  and  SHOW CREATE PROCEDURE  statements. •The  SHOW FUNCTION CODE  and  SHOW PROCEDURE CODE  statements. •The  SHOW FUNCTION STATUS  and  SHOW PROCEDURE STATUS  statements. • SYSTEM_USER  (added in MySQL 8.0.16) •A user with the  SYSTEM_USER  privilege is a system user. •A user without the  SYSTEM_USER  privilege is a regular user. The  SYSTEM_USER  privilege distinguishes system users from regular users: •A system user can modify both system and regular accounts. That is, a user who has the appropriate privileges to perform a given operation on regular accounts is enabled by possession of SYSTEM_USER  to also perform the operation on system accounts. A system account can be modified only by system users with appropriate privileges, not by regular users. •A regular user with appropriate privileges can modify regular accounts, but not system accounts. A regular account can be modified by both system and regular users with appropriate privileges. For more information, see Section 6.2.11, “Account Categories” . 1200