在mysql中不能授予重新加载权限?

时间:2010-07-16 00:28:19

标签: mysql permissions

因为我遇到了mysql i need to use flush的问题。我发现没有重新加载权限,用户就无法使用flush。并告诉他我的语法是

grant reload on *.* to 'webapp_wt'@'localhost';

我不能做specific_db。*。授予这种许可感觉不对。这有什么不对吗?这个mysql用户是否可能导致问题? (我在db之外给了它权限)。

- 编辑 - 在45分钟内完全一个视图和一个答案(和它的好!)。我很开心。

有没有办法授予刷新表但没有别的?

2 个答案:

答案 0 :(得分:3)

由于它是一个服务器管理的东西,你确实无法将它授予特定的数据库/表(对于特定的数据库或表,你可以用RELOAD做的大部分都没有意义。)

是的,用户可以通过反复FLUSH表或FLUSH QUERY CACHE严重阻碍性能,并且可能使用FLUSH MASTER打破(滞后)复制。

答案 1 :(得分:-2)

授予任何用户访问管理功能的权限是不好的,特别是如果他们不了解/关心它在幕后的影响(在这种情况下影响可能很大)。

我个人会把它包装在应用程序逻辑中。因此,不是用户刷新表,他只是在数据库中设置一个标志,说'嘿,我想要冲洗'

然后,您可以使用script / cronjob定期检查标志,并添加逻辑以确定何时应该进行刷新。这也意味着您可以将所有管理员权限保留给自己==减少头痛