2012-07-12 122 views
1

我对mysql有特殊的安全需求。我需要强制限制查询返回的行数,如果返回的行将超过一百万行,则会发出错误。这里是设置 -MySQL - 限制(强制)为任何查询返回的行数

需要 - 该数据具有数百万行的100S,我们不希望客户端向下运行的服务器或做一个完整的提取(也绝对不会需要所有的行,就聚合)这个想法是,如果他们需要的话,他们会遇到一个错误或障碍,然后来找我们解释为什么他们需要用查询拉出这么多行。

系统 - 客户端可以使用任何查询工具,因此我们无法控制生成的查询。因此,我们不能使用似乎是解决方案无处不在的限制x。

我试过寻找一个解决方案,现在看来,唯一的方法就是在应用程序级别(我们不拥有它)。

有什么办法可以达到这个目的吗?

设置

1-我们需要启用SSL。

2- MySQL 5.5

谢谢!

J

回答

1

看起来你可能会接近MySQL代理。

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?

+0

这是一件事我正在考虑,但现在看来,这不会允许SSL连接:(上的任何想法吗? – Jai 2012-07-12 22:56:20