Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL concede todos os privilégios ao banco de dados, exceto uma tabela


Eu sei que este é um post antigo, mas pensei em adicionar à pergunta @tdammers para outros verem. Você também pode executar um SELECT CONCAT em information_schema.tables para criar seus comandos de concessão e não precisa escrever um script separado.

Primeiro revogue todos os privilégios desse banco de dados:
REVOKE ALL PRIVILEGES ON db.* FROM [email protected];  

Em seguida, crie suas instruções GRANT:
SELECT CONCAT("GRANT UPDATE ON db.", table_name, " TO [email protected];")
FROM information_schema.TABLES
WHERE table_schema = "YourDB" AND table_name <> "table_to_skip";

Copie e cole os resultados em seu cliente MySQL e execute-os todos.