我运行了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 '...'
表示它没有选择
的权限答案 0 :(得分:0)
您应该确保没有人可以在您的数据库查询字段中输入任何MySQL命令。如果用户没有访问权限,他们也无法使用它。 如果您是唯一应该使用数据库的人,只需为自己创建一个帐户,并确保不允许匿名访问。
但是如果你想要用户登录或类似的东西,你应该确保在应用程序中处理这个(如果用户可以直接访问数据库)他们应该不能执行任何查询..
希望这有帮助,如果没有,请说出来,我可能会澄清。