MySQL中是否有必要删除临时表?

14

我遇到了一个问题,无法删除一个临时表。用户帐户没有'drop'权限。由于安全原因,我不想授予该权限。

我尝试查找像'drop temporary'这样的权限,但没有找到。似乎唯一的选择是删除所有'drop table'语句。我知道临时表将在数据库会话结束后自动删除。

然而,我不确定让MySQL来处理是否会有任何副作用。请给出建议。


1
如此提到的,http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create-temporary-tables 为了保持临时表和非临时表的权限分离,这种情况的常见解决方法是创建一个专用于使用临时表的数据库。然后,对于该数据库,可以授予用户CREATE TEMPORARY TABLES特权,以及该用户执行临时表操作所需的任何其他特权。 - Lucky
3个回答

20

5
如果您使用连接池(例如 Hikari、c3p0 等),那么您的连接可能会比预期的更长时间保持打开状态,因此请务必小心。在这种情况下,手动删除临时表可能是明智的选择。 - Alden
1
@Alden,合理配置软件以使一切按预期工作是有意义的。连接池必须在客户端断开连接时重置连接。 - zerkms

1
它将使用当前计算机的RAM空间。因此,在其使用结束后的下一步骤中最好的做法是删除临时表。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接