【问题标题】:MySQL - Restrict (Forcibly) the number of rows returned for ANY QUERYMySQL - 限制(强制)为任何查询返回的行数
【发布时间】:2012-07-12 18:22:30
【问题描述】:

我对 mysql 有特殊的安全需求。我需要强制限制查询返回的行数,如果返回的行将结束,例如一百万行,则会发出错误。这是设置 -

需要 - 数据有数以亿计的行,我们不希望客户端运行服务器或进行完整的提取(他们永远不需要所有行,只需要聚合) 这个想法是,如果他们需要它,他们会遇到错误或障碍,然后来找我们解释为什么他们需要通过查询提取这么多行。

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

我已尝试寻找解决方案,但目前看来唯一的方法是在应用程序级别(我们不拥有)。

有什么办法可以做到吗?

设置

1- 我们需要启用 SSL。

2- MySQL 5.5

谢谢!

J

【问题讨论】:

    标签: mysql


    【解决方案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?

    【讨论】:

    • 这是我正在考虑的一件事,但它似乎不允许 SSL 连接 :( 对此有何想法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多