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