I followed the instructions here to create a new user.
The only difference was that when giving the user original privileges I gave it to only one database.
Now I’m trying to remove the users access to a single table in that database with the following:
REVOKE ALL PRIVILEGES ON [database name].[table name] FROM ‘[username]’@‘localhost’;
But I keep getting the following error.
ERROR 1147 (42000): There is no such grant defined for user ‘username’ on host ‘localhost’ on table ‘table_name’
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
What result is displayed if you run:
SHOW GRANTS FOR '[username]'@'localhost';
To remove permission grants you will need to be specific and reference grants explicitly listed.
Thanks for your reply ryanpq, you are correct. Because I applied the All Privileges permissions at the database.* level, I couldn’t only revoke privileges at the database.* level as the All Privileges was not simply carried down to the individual tables.
Once I wiped privileges at the database level all together, I was then able to grant and revoke them on a table basis.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.