我需要限制基于用户的mysql数据库访问权限。因此,要求如下。
如何在MySQL服务器中实现这一点?
发布于 2014-07-03 11:43:42
1.用户可以在MySQL实例中拥有专用存储,并且他不能超过它()
据我所知,没有直接的方法来控制每个用户的mysql实例的存储。您可以像akuzminsky说的那样这样做,或者如果您有供用户使用的特殊表,则可以使用:
ALTER TABLE tablename MAX_ROWS=1000000 AVG_ROW_LENGTH=nnn;欲了解更多信息,请参阅:
2.限制用户在一天内的访问时间()
我不知道直接的方法。我可以想象出一个运行类似于问题3的comand的cronjob,但应该是在您真的需要它并且没有其他解决方案的情况下:)
3.限制每个用户每小时的读写更新查询数
您可以使用GRANT命令的以下参数:
GRANT ALL ON databasename.* TO 'username'@'server'
WITH MAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
MAX_USER_CONNECTIONS 2;(记得在后面运行FLUSH PRIVILEGES; )
欲了解更多信息,请参阅:
http://dev.mysql.com/doc/refman/5.7/en/user-resources.html
4.限制每个用户的带宽
应该是数据库和应用服务器之间的一件事。
发布于 2014-07-02 14:23:30
这里有一些想法。
https://stackoverflow.com/questions/24530816
复制相似问题