在这篇文章之前,我已经发布了,但是我应该删除它,因为有一些拼写错误的列名,所以这是我的错。
我想要做的是,将用户的所有权限授予数据库。这些用户将是我们的合作伙伴。我的系统设计要求,我需要在每个合作伙伴数据库中使用1个表,我将使用它,并且我想阻止它们执行任何操作,但是在该表上进行SELECT。 (请跳过WITH GRANT OPTION的事情。)
数据库的名称和用户名相同,csp_ytic。
我做了什么:
CREATE USER 'csp_ytic'@'localhost' IDENTIFIED BY 'somepass';
FLUSH PRIVILEGES;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE ON `csp_ytic`.* TO 'csp_ytic'@'localhost' WITH GRANT OPTION;
因此,我为用户添加了所有权限。
在此之后,我撤销了表格中的权限。
REVOKE ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON `csp_ytic`.`tag_scanned` FROM 'csp_ytic'@'localhost';
我认为这就够了。
但是当我用这个用户运行我的脚本时,我可以选择SELECT,INSERT,UPDATE和DELETE。
我做错了什么?