我是lua language.The的初学者,主要的概念是当用户在mysql中触发DROP TABLE命令时,它不应该是executed.But,他可以像往常一样在mysql.But中触发所有其他命令。我不想使用GRANTS this.Is,有任何luaScript通过mysql-proxy执行此操作。
例如:
mysql> DROP TABLE T1;
Please wait for authentication通过mysql-proxy执行此任务,LuaSql也很有帮助
希望我的想法clear.Someone帮助我提前解决了这个issue.Thanks。
发布于 2017-07-27 01:04:54
是的,你可以这样做。这里的想法是检查查询是否满足您想要过滤的要求,如果满足,则不将其发送到服务器
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,如果匹配,它只会向客户端返回一个成功,而不会提交查询。从而有效地丢弃该查询。
https://stackoverflow.com/questions/24447908
复制相似问题