首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MySql-Proxy跟踪MySql查询?

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

Stack Overflow用户
提问于 2011-01-13 01:18:37
回答 2查看 3.4K关注 0票数 5

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

代码语言:javascript
复制
function read_query(packet)
   if string.byte(packet) == proxy.COM_QUERY then
     print("QUERY: " .. string.sub(packet, 2))
   end
 end

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

代码语言:javascript
复制
mysql-proxy -P localhost:1234 -b localhost:3306 --proxy-lua-script=profile.lua --plugins=proxy

当我运行一个简单的查询(比如"select * from table1")时,报告了这个错误:"failed:.\lua-scope.c.c:241: stat(C:...\profile.lua) failed: No error (0)“

注意:如果我在没有lua脚本的情况下运行mysql-proxy,不会出现错误。

我需要安装一些东西来让mysql代理和查询跟踪工作?

我的环境是Windows7专业版x64。

对不起,我的英语不好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-08 04:28:08

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

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

代码语言:javascript
复制
--proxy-lua-script=c:\profile.lua
--proxy-lua-script=\profile.lua
--proxy-lua-script=/profile.lua

其中一个可能会行得通

票数 7
EN

Stack Overflow用户

发布于 2011-04-01 17:34:26

简单查询日志lua脚本:

代码语言:javascript
复制
require("mysql.tokenizer")

local fh = io.open("/var/log/mysql/proxy.query.log", "a+")
fh:setvbuf('line',4096)
local the_query = "";
local seqno = 0;

function read_query( packet )
    if string.byte(packet) == proxy.COM_QUERY then
        seqno = seqno + 1
        the_query = (string.gsub(string.gsub(string.sub(packet, 2), "%s%s*", ' '), "^%s*(.-)%s*$", "%1"))
        fh:write(string.format("%s %09d %09d : %s (%s) -- %s\n",
            os.date('%Y-%m-%d %H:%M:%S'),
            proxy.connection.server.thread_id,
            seqno,
            proxy.connection.client.username,
            proxy.connection.client.default_db,
            the_query))
        fh:flush()
        return proxy.PROXY_SEND_QUERY
    else
        query = ""
    end
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4671777

复制
相关文章

相似问题

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