MySQL asking a user for SUPER privilege to perform a delete

databaseMySQLpermissionsSecuritysql

When trying to do a delete operation on a table, mysql reports the following error:

Error code 1227: Access denied; you need the SUPER privilege for this operation.

However, my user has this privilege granted for all tables in the schema:

GRANT ALL PRIVILEGES ON myschema.* TO 'my_admin'@'%'

How come it asks me for SUPER privilege for a delete?

Best Answer

Are you sure that you're not logged in as some less privileged user? You get the privileges of the user you are logged in as, not of all users that you conceivably could log in as.

If myadmin@10.11.12.13 has fewer privileges than myadmin@% and you are logging in from 10.11.12.13, you get the former's privileges.

Do \s from a mysql client to see what "current user" you are, then SHOW GRANTS FOR that user.

You did do FLUSH PRIVILEGES after executing the GRANT, I assume.