我是lua语言的初学者。主要的概念是当用户在mysql中触发DROP TABLE
命令时,不应该执行它。但是他可以像往常一样在mysql中触发所有其他命令。但是我不要&# 39; t想要使用GRANTS
。luaScript
是否有mysql-proxy
通过mysql> DROP TABLE T1;
Please wait for authentication
执行此操作?
例如:
LuaSql
mysql-proxy
也可以{{1}}帮助您通过{{1}}执行此任务吗?
希望我明白这个想法。有人帮我解决了这个问题。谢谢你。
答案 0 :(得分:0)
是的,你可以这样做。这里的想法是检查查询是否满足您要过滤的要求,如果是,则不将其发送到服务器
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
收到的每个查询,如果匹配则只返回客户端的SUCCESS而不传递查询。从而有效地删除了查询。