gpt4 book ai didi

mysql - 将记录的查询存储到 mysql 客户端

转载 作者:行者123 更新时间:2023-11-29 12:51:44 27 4
gpt4 key购买 nike

我使用的客户端系统是(192.168.YY.YY),我在mysql-proxy中提到的后端地址是(192.168.XX.XX) .我使用以下LuaScript来记录查询使用mysql-proxy

function read_query( packet )
b={}
j=1
if string.byte(packet) == proxy.COM_QUERY then
local query = string.sub(packet, 2)
table.insert(b,query)
print(b[j])
end
end

上面的脚本从后端服务器的mysql记录以下结果(192.168.XX.XX):

select @@version_comment limit 1
SELECT DATABASE()
select @@version_comment limit 1
select USER()
SELECT DATABASE()
show tables

我需要将这些记录的查询存储到客户端系统的数据库中(192.168.YY.YY)。如何将记录的查询存储到客户端系统的数据库中。请有人帮我解决这个问题。谢谢!!

最佳答案

我不知道如何从 mysql 代理脚本打开数据库连接,但您可以很容易地创建一个单独的 Lua 脚本,该脚本使用 luasocket 在 udp 端口​​上监听它写入文件(您的代理)的日志消息脚本写入该端口,则不存在并发查询导致日志文件写入竞争条件的风险。相同的 Lua 脚本可以在不同的端口上监听命令以获取日志文件。或者使该文件可通过 http 访问。您甚至可以通过 http post 消息添加日志消息,然后甚至不需要单独的 Lua 脚本来管理日志文件。我认为不需要数据库。

要写入客户端计算机上的文件,您的脚本将使用 Lua 的 io.open 函数和 file:write 方法。仔细阅读这些内容。正如我的答案开头附近所述,并且我认为您在评论中暗示过,如果同时发生多个查询,您可能必须协调写入日志,但您应该首先尝试简单的方法,这可能没问题。

关于mysql - 将记录的查询存储到 mysql 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com