I've been unable to find a reasonable solution to achieve the following:
I wish to have a user that has ALL privileges on a database (or series of databases with the same schema), except for one table, to which they will only have SELECT privileges.
Essentially I want the user to have free reign over a database but not to be able to update a specific table.
So far I have tried, to no avail:
Granting all privileges on that database (db_name.*) and then specifically granting only select privileges on that desired table (hoping it would overwrite the "all", stupid I know).
Granting all privileges on that database (db_name.*) then revoking insert, update, and delete. But this produced an error saying there was no grant rule for db_name.table_name.
From what I've been able to gather I'll have to individually grant all privileges on each table of the database except the read only table.
Please someone tell me there is a easier way
Note: I'm running MySQL 5.1. The latest available on Ubuntu 10.04.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…