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 thanmyadmin@%
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, thenSHOW GRANTS FOR
that user.You did do
FLUSH PRIVILEGES
after executing theGRANT
, I assume.