1454
MariaDBERRORNotableSecurity / PrivilegesHIGH confidence

No such grant defined for user on host on routine

Production Risk

Low — administrative error only; no data is affected.

What this means

ER_NONEXISTING_PROC_GRANT (1454, SQLSTATE HY000) is raised when REVOKE is called for a routine privilege that was never granted to the specified user.

Why it happens
  1. 1REVOKE EXECUTE ON PROCEDURE called for a user who was never granted that privilege
  2. 2Typo in username, host, or routine name in the REVOKE statement
How to reproduce
trigger — this will error
trigger — this will error
REVOKE EXECUTE ON PROCEDURE my_db.my_proc FROM 'user'@'localhost';
-- If the grant never existed

expected output

ERROR 1454 (HY000): There is no such grant defined for user 'user' on host 'localhost' on routine 'my_proc'

Fix

Verify existing grants before revoking

Verify existing grants before revoking
SHOW GRANTS FOR 'user'@'localhost';
-- Only revoke what is actually granted

Why this works

Checking existing grants prevents attempting to revoke non-existent privileges.

Sources
Official documentation ↗

MySQL 8.0 — 1454 ER_NONEXISTING_PROC_GRANT

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MariaDB errors