我们如何防止查询“显示数据库;” 或“显示表格”;在任何非root用户的mysql中。这可能吗。如果是这样,请提供一个示例或适当的链接...表明这一点..
提前致谢........
我们如何防止查询“显示数据库;” 或“显示表格”;在任何非root用户的mysql中。这可能吗。如果是这样,请提供一个示例或适当的链接...表明这一点..
提前致谢........
非 root 用户只有在拥有全局权限时才能看到所有数据库(例如 GRANT something ON *.*)。因此,解决方案是始终授予一切 ON databasename .* ,而不是全局。
我会show_db_priv
试一试:
http://dev.mysql.com/doc/refman/5.1/en/grant-table-structure.html
但是,有报道称这不起作用。请参阅此错误条目:
现在无法为您提供链接,但这本质上是一个权限问题,并且控制了对 root 用户的访问。
在 phpmyadmin 或其他一些工具上,您想要撤销除根管理员之外的所有用户对这两个数据库(以及任何其他数据库)的权限。如果您在一个共享服务器上,您通常会为您的一个数据库获得一个用户,您需要与您的主机交谈。
我的一般规则(如果我对数据库服务器具有权限控制)是为特定数据库或(表的子集)创建一个新用户,并且始终仅从 Web 或其他与数据库对话的应用程序中使用该用户。最初设置更多,但是一旦设置好,您将获得更多控制权,并且知道一个应用程序不能干扰另一个应用程序。
根本不允许根访问用于应用程序使用 - 它仅用于维护。