Mysql:只允许创build/插入/删除临时表

使用MySQL,我如何给用户分配权限,以便他们可以创build和操作临时表,但是不能改变永久表中的任何数据?

或者,是否有一种方法让用户使用CREATE TEMPORARY TABLES创build一个临时表,以便他们对该表拥有完整的权限?

我明白这不完全回答你的要求,但…

您可能想要使用该用户的权限ACL(访问控制列表)处理它。 你想通过表来指定这个用户可以select什么。 接下来,用SELECT,CREATE权限为此用户的目的专门创build一个数据库。

例如

GRANT SELECT ON dbname.tablename1 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password'; GRANT SELECT ON dbname.tablename2 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password'; GRANT SELECT ON dbname.tablename3 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password'; GRANT CREATE,SELECT,DROP ON tmpdb.tablename1 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password'; GRANT CREATE,SELECT,DROP ON tmpdb.tablename2 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password'; GRANT CREATE,SELECT,DROP ON tmpdb.tablename3 TO 'username'@'ip-or-hostname' IDENIFIED BY 'password';