首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于停止通过mysql代理在mysql中触发查询的Lua脚本

用于停止通过mysql代理在mysql中触发查询的Lua脚本
EN

Stack Overflow用户
提问于 2014-06-27 17:02:14
回答 1查看 270关注 0票数 1

我是lua language.The的初学者,主要的概念是当用户在mysql中触发DROP TABLE命令时,它不应该是executed.But,他可以像往常一样在mysql.But中触发所有其他命令。我不想使用GRANTS this.Is,有任何luaScript通过mysql-proxy执行此操作。

例如:

代码语言:javascript
复制
mysql> DROP TABLE T1;
Please wait for authentication

通过mysql-proxy执行此任务,LuaSql也很有帮助

希望我的想法clear.Someone帮助我提前解决了这个issue.Thanks。

EN

回答 1

Stack Overflow用户

发布于 2017-07-27 01:04:54

是的,你可以这样做。这里的想法是检查查询是否满足您想要过滤的要求,如果满足,则不将其发送到服务器

代码语言:javascript
复制
function read_query(packet)
        if string.byte(packet) == proxy.COM_QUERY then
                query = packet:sub(2)
                if condition(query) then
                   proxy.response = {
                           type = proxy.MYSQLD_PACKET_OK,
                   }
                   return proxy.PROXY_SEND_RESULT
                end
        end
end

这会检查代理收到的每个查询是否有condition,如果匹配,它只会向客户端返回一个成功,而不会提交查询。从而有效地丢弃该查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24447908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档