当任何用户从我们的数据库中进行 SELECT
查询时,我们希望限制返回的行数。当然,您可以手动限制返回查询的行数,但我们希望在所有 SELECT
命令上强制附加类似 limit 10
的内容。用户将只能使用 MySQL CLI 从堡垒主机访问此数据库。
例如:
SELECT * FROM 客户
将返回所有行。在没有用户指定的情况下,我们希望自动将命令变成类似这样的内容,这样他们最多只能返回 10 行:
SELECT * FROM 客户限制 10
实现此所需功能的任何方式都可以(无论是否为附加命令)。这可能吗?
最佳答案
如果您不相信您的用户能够负责任地使用数据库,您可能不应该允许他们通过 mysql cli 直接访问数据库。开发一个报告层,您可以在其中实现此类限制。
如果你坚持使用mysql cli,那么打开--safe-updates
选项并配置--select-limit选项。
或者,设置 sql_select_limit通过配置或批处理文件为这些用户设置。
关于mysql - 如何强制限制从所有用户的查询返回的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57731662/