如何防止用户只读访问所有数据库的表?

时间:2011-09-05 13:47:06

标签: mysql

我运行了mysql 5.0.82sp1,我注意到所有用户都可以在所有数据库的表上调用select命令。他们没有这样做的权限,所以我无法撤销任何内容。是否有一些mysql设置默认授予此只读访问权限?

这似乎总能给出结果

select * from some_database_name.some_table_name

它显示了其中的内容。

即使通过发出命令

撤销所有权限,它仍然有效

revoke all privileges, grant option from 'username'@'localhost';

我通过发出命令

来检查它

show grants;

显示

GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD '...'

表示它没有选择

的权限

1 个答案:

答案 0 :(得分:0)

您应该确保没有人可以在您的数据库查询字段中输入任何MySQL命令。如果用户没有访问权限,他们也无法使用它。 如果您是唯一应该使用数据库的人,只需为自己创建一个帐户,并确保不允许匿名访问。

但是如果你想要用户登录或类似的东西,你应该确保在应用程序中处理这个(如果用户可以直接访问数据库)他们应该不能执行任何查询..

希望这有帮助,如果没有,请说出来,我可能会澄清。