2

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

4

2 回答 2

1

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

像这样配置 mysql-proxy-python 之后./configure --prefix=/var/tmp/mysqlproxy --with-python=python2.7 --with-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-script=/var/tmp/mysql-proxy-python/examples/rewrite.py

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

于 2015-08-21T14:07:17.040 回答
0

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

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

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

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

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

于 2013-04-28T14:10:03.117 回答