我对mysql有特殊的安全需求。我需要强制限制查询返回的行数,如果返回的行将结束,则发出错误,比如一百万行。这是设置 -
需要 - 数据有数百万行,我们不希望客户端在服务器上运行或完全提取(他们永远不需要所有行,只需聚合这个想法是,如果他们需要它,它们会遇到错误或障碍,然后向我们解释为什么他们需要通过查询拉出这么多行。
系统 - 客户端可以使用任何查询工具,因此我们无法控制生成的查询。因此,我们不能使用Limit x,这似乎是随处可见的解决方案。
我已经尝试过搜索解决方案,现在似乎唯一的方法是在应用程序级别(我们不拥有)。
有没有办法实现这个目标?
设置
1-我们需要启用SSL。
2- MySQL 5.5
谢谢!
J
答案 0 :(得分:1)
看起来你可能能够接近MySQL Proxy。
https://launchpad.net/mysql-proxy
请参阅此页面以了解操作结果。不确定它是否进行缓冲或无缓冲读取,或者是否可以取消读取结果...
http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy-scripting-read-query-result.html
它是开源的,所以如果需要的话,你也可以聘请别人来调整它。
可能还有其他方法可以限制数据库服务器的重载。请查看此链接以获取更多信息:
MySQL - can I limit the maximum time allowed for a query to run?