Mysql 阻止除一个用户之外的任何用户访问表
我有一个包含许多表的数据库 我想阻止除一个以外的任何用户访问此表。所有用户还需要能够访问在此类数据库中创建的任何未来表,当然,我不可能添加/删除对这些表的访问,因为有些表只是为了编写脚本而创建的临时表 比如:Mysql 阻止除一个用户之外的任何用户访问表,mysql,Mysql,我有一个包含许多表的数据库 我想阻止除一个以外的任何用户访问此表。所有用户还需要能够访问在此类数据库中创建的任何未来表,当然,我不可能添加/删除对这些表的访问,因为有些表只是为了编写脚本而创建的临时表 比如: GRANT ALL PRIV ON *.* TO user123 ... REVOKE ALL PRIV ON mydb.table FROM user123 如果有些表是临时的,为什么不直接将它们创建为临时的表呢?然后,只有创建它们的会话才能访问它们 您可以轻松地授予表上的权限,然后撤
GRANT ALL PRIV ON *.* TO user123 ...
REVOKE ALL PRIV ON mydb.table FROM user123
如果有些表是临时的,为什么不直接将它们创建为
临时的
表呢?然后,只有创建它们的会话才能访问它们
您可以轻松地授予表上的权限,然后撤销单个表的权限,但无法轻松地继续维护该权限
另一种选择是将需要不同权限的表放在单独的数据库中。当然,它需要管理两个数据库的权限,因此可能会比较混乱,但这有点接近目标。有一个很好的表权限参考指南。我想它有你需要的。如果您也需要其他特权,本指南前面也提到了这些特权。实际上可以使用不同的数据库。这是一个庞大的系统,但搜索替换和几秒钟的停机可能是关键所在。我将继续讨论这个问题,看看是否还有其他人有更好的解决方案,但到目前为止,这听起来是最好的。