查找MySQL查询的所有者进程。
项目描述
奇莫
奇莫 (在土耳其语中意味着 它是谁) 是一个用于查找MySQL查询操作系统进程的工具。
安装
奇莫 只与Python3兼容。
pip3 install kimo
用法
奇莫 由两部分组成:kimo-server 和 kimo客户端。
服务器端
首先,我们需要在每个执行MySQL查询的服务器上运行 kimo-server。我们需要这样做,因为 kimo-server 从运行它的主机获取连接,并通过HTTP API向客户端提供连接。
sudo kimo-server
客户端
奇莫 客户端可以通过命令行或Python程序内部使用。
命令行
命令行界面有一些可选参数
optional arguments: -h, --help show this help message and exit --logging-level {debug,info,warning,error} Print debug logs --host HOST Host of database --user USER User for database --password PASSWORD Password for database --mysql-config-file MYSQL_CONFIG_FILE --kimo-server-port KIMO_SERVER_PORT --tcpproxy-mgmt-port TCPPROXY_MGMT_PORT --filter-query-id FILTER_QUERY_ID Filter by query ID --filter-db FILTER_DB Filter by database --filter-user FILTER_USER Filter by user --sort-asc {db,user,id,host,process_host} Sort output by field in ascending order. --sort-desc {db,user,id,host,process_host} Sort output by field in descending order. --output-format {table,vertical}
Python程序
from kimo import kimo config = { 'mysql_host': '127.0.0.1', 'mysql_port': 3306, 'mysql_user': 'root', 'mysql_password': '', 'tcpproxy_mgmt_port': 3307, 'kimo_server_port': 6000, } result = kimo(config) print result[0] >> EnhancedProcess(process=Process(id=1504, user=u'root', host=u'127.0.0.1:54553', db=u'information_schema', command=u'Query', time=547, state=u'User sleep', info=u'select sleep(100)'), details=ProcessDetails(pid=16430, name=u'python', cmdline=u'python -m putio.shell', hostname=u'vagrant.putio.club', connection_status=u'ESTABLISHED'))
就是这样!
TcpProxy
奇莫 如果MySQL和客户端之间有一个或多个 tcpproxy 代理服务器,它也可以很好地工作。
示例
服务器端
首先,我们必须启动 kimo-server
sudo kimo-server --logging-level DEBUG --port 6000
客户端
我们可以以垂直或表格格式获取输出。
垂直输出
kimo --output-format vertical --filter-query-id 1001
[2017-02-19 19:37:11,817] Thread(127.0.0.1:50212) INFO kimo:request_kimo_server:147 - Getting connections from kimo-server at: 127.0.0.1 [2017-02-19 19:37:11,900] Thread(MainThread) INFO kimo:main:87 - 1 rows in set (0.09 sec) *********************** 1. row *********************** id: 1001 user: root host: 127.0.0.1:50212 db: information_schema command: Query time: 165 state: User sleep info: SELECT SLEEP(500) pid: 4796 name: python cmdline: python -m putio.shell hostname: vagrant.putio.club connection_status: ESTABLISHED
表格输出
kimo --output-format table --sort-asc id
+------+------+-----------------+--------------------+---------+------+------------+-------------------+------+--------+-----------------------+--------------------+-------------------+ | id | user | host | db | command | time | state | info | pid | name | cmdline | hostname | connection_status | +------+------+-----------------+--------------------+---------+------+------------+-------------------+------+--------+-----------------------+--------------------+-------------------+ | 1202 | root | 127.0.0.1:54668 | information_schema | Query | 18 | User sleep | select sleep(800) | 4796 | python | python -m putio.shell | vagrant.putio.club | ESTABLISHED | +------+------+-----------------+--------------------+---------+------+------------+-------------------+------+--------+-----------------------+--------------------+-------------------+ | 1207 | root | 127.0.0.1:54593 | information_schema | Query | 46 | User sleep | select sleep(1000) | 13630 | python | python -m putio.shell | vagrant.putio.club | ESTABLISHED | +------+------+-----------------+--------------------+---------+------+------------+--------------------+-------+--------+-----------------------+--------------------+-------------------+
项目详情
关闭
kimo-2.0.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac37cac8b79e3b8a580dfc7a00f363c1e683dc4090dc1e568af06adeacc838b6 |
|
MD5 | 34bec96d3525ffa621b1f8a15a29067d |
|
BLAKE2b-256 | 4d0491d631d1d285348403ab43ebeefc7bbd5335b1e43d2d663a5a8b845a7862 |