如何使用MySql-Proxy跟踪MySql查询?

Mai*_*ico 5 mysql lua mysql-proxy

我刚刚下载了mysql-proxy并创建了这个脚本lua(在Mysql docs中找到):

function read_query(packet)
   if string.byte(packet) == proxy.COM_QUERY then
     print("QUERY: " .. string.sub(packet, 2))
   end
 end
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的命令行:

mysql-proxy -P localhost:1234 -b localhost:3306 --proxy-lua-script=profile.lua --plugins=proxy
Run Code Online (Sandbox Code Playgroud)

当我运行一个简单的查询(如"select*from table1")时,会报告此错误:"failed:.\ lua-scope.c:241:stat(C:...\profile.lua)失败:没有错误(0)"

注意:如果我在没有lua脚本的情况下运行mysql-proxy,则不会发生错误.

我需要安装一些东西才能让mysql-proxy和查询跟踪工作?

我的环境是Windows 7 Professional x64.

抱歉,英语不好.

jj3*_*j33 7

您获得的错误是由--proxy-lua-script指向mysql-proxy无法找到的文件引起的.要么输入错误的名称,要么输入错误的路径,要么在CWD中预期它并不存在.或者实际上,更仔细地查看整个错误,似乎mysql-proxy本身可以在CWD本身看到该文件,但其中一个底层模块不喜欢它(可能是因为mysql-proxy以某种方式更改了CWD ?)

尝试将profile.lua保存到C:驱动器的根目录并尝试不同版本的选项,如下所示:

--proxy-lua-script=c:\profile.lua
--proxy-lua-script=\profile.lua
--proxy-lua-script=/profile.lua
Run Code Online (Sandbox Code Playgroud)

其中一个可能会奏效