如何在python中使用mysql代理

如何在python中使用mysql代理,python,mysql,mysql-proxy,Python,Mysql,Mysql Proxy,如何用python编写脚本,用MySQL代理跟踪查询。 我试图获得有关这方面的信息,但是我找不到任何关于python的东西,请帮助我用python编写一个脚本,用于处理查询 mysql代理。我想澄清一下mysql代理的工作和使用 如何用python编写脚本,用MySQL代理跟踪查询 您可以从下载脚本,并将其保存到文件monitor.lua,然后运行代理: mysql-proxy --proxy-lua-script=monitor.lua 然后,您可以编写python脚本并分析文件中的所有代理

如何用python编写脚本,用MySQL代理跟踪查询。 我试图获得有关这方面的信息,但是我找不到任何关于python的东西,请帮助我用python编写一个脚本,用于处理查询 mysql代理。我想澄清一下mysql代理的工作和使用

如何用python编写脚本,用MySQL代理跟踪查询

您可以从下载脚本,并将其保存到文件monitor.lua,然后运行代理:

mysql-proxy --proxy-lua-script=monitor.lua
然后,您可以编写python脚本并分析文件中的所有代理查询。
默认情况下,输出将刷新到mysql.log中,或者您可以直接在LUA脚本(monitor.LUA)中更改它

Mysql proxy只支持LUA脚本来构建插件,所以如果你想影响一些特定的查询,你需要了解LUA,或者找到最适合你的脚本。它不会针对我的Ubuntu附带的mysql代理版本进行编译

在像这样配置mysql代理python之后,
/configure--prefix=/var/tmp/mysqlproxy--with python2.7--gnu ld--with mysql proxy src=/var/tmp/mysql-proxy-0.8.5/
,我需要在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脚本=/var/tmp/mysql-proxy-python/examples/rewrite.py

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