【问题标题】:How to use mysql proxy with python如何在 python 中使用 mysql 代理
【发布时间】:2013-02-15 12:18:26
【问题描述】:

如何在 python 中编写脚本以使用 MySQL 代理跟踪查询。 我试图获取有关此的信息,但找不到任何有关 python 的信息,请帮助我在 python 中编写脚本以跟踪查询 mysql代理。我想澄清一下mysql代理的工作和使用。

【问题讨论】:

    标签: python mysql mysql-proxy


    【解决方案1】:

    mysql-proxy-python。它不能针对我的 Ubuntu 提供的 mysql-proxy 版本进行编译。

    ./configure --prefix=/var/tmp/mysqlproxy --with-python=python2.7 --with-gnu-ld --with-mysql-proxy-src=/var/tmp/mysql-proxy-0.8.5/ 这样配置mysql-proxy-python 之后,我至少需要在config.h 中更改:

    /* make sure the off_t is 32bit */
    #ifndef _FILE_OFFSET_BITS
    #define _FILE_OFFSET_BITS 32
    #endif
    
    #define HAVE_ULONG
    

    然后我可以运行env PYTHONPATH=/var/tmp/mysql-proxy-python/lib/ mysql-proxy --plugin-dir=/var/tmp/mysqlproxy/lib/mysql-proxy/plugins --plugins=pyproxy --pyproxy-backend-addresses=127.0.1:3306 --pyproxy-python-script=/var/tmp/mysql-proxy-python/examples/rewrite.py

    makemake install 之后,我可以像mysql --host=127.1 --user=root --password=root --port 2046 mysql 这样连接到代理。请注意我通过netstat -tulpen 找到的端口。

    【讨论】:

      【解决方案2】:

      如何在 python 中编写脚本以使用 MySQL Proxy 跟踪查询。

      你可以从https://gist.github.com/simonw/1039751下载脚本,保存到文件monitor.lua然后运行代理:

      mysql-proxy --proxy-lua-script=monitor.lua
      

      然后您可以编写 python 脚本并分析文件内的所有代理查询。
      默认script的输出会被刷新到mysql.log中,或者你可以直接在LUA脚本(monitor.lua)中修改。

      Mysql-proxy 只支持 LUA 脚本来构建插件,所以如果你想影响一些特定的查询你需要了解 lua,或者找到最适合你的具体情况的脚本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-03
        • 2021-02-07
        • 1970-01-01
        相关资源
        最近更新 更多