MySQL Log
Project description
MySQLog
MySQLog is command line program used to collect mysql slow query log like Porcona Toolkit's pt-query-digest.
-e, --env TEXT The environment of mysql log to collect
[default: default]
-u, --user TEXT The user of database for collecting
[required]
-p, --password TEXT The password of database for collecting
[required]
-h, --host TEXT The host of database for collecting mysql
log [default: localhost]
-P, --port INTEGER The port of database for collecting mysql
log [default: 3306]
-d, --database TEXT The database for collecting mysql log
[default: test]
-t, --thread-size INTEGER The thread size of SlowQueryLogConsumer
[default: 1]
-s, --since TEXT Filter mysql log by datatime yyyy-MM-dd
HH:mm:ss
-T, --query-time FLOAT Filter mysql log by query_time [default:
0.3]
--enable-fingerprint Enable query sql fingerprint
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
Install
# create python virtual environment for mysqlog
python3 -m venv mysqlog.venv
# active virtual environment mysqlog.venv
source mysqlog.venv/bin/activate
# use pip command install mysqlog
pip install mysqlog
# check mysqlog is installed
mysqlog --help
Usage
- Example log file (mysql-slow.log)
# Time: 2020-09-25T06:05:23.747686Z
# User@Host: root[root] @ [10.190.66.171] Id: 7
# Query_time: 4.412855 Lock_time: 0.000136 Rows_sent: 3 Rows_examined: 8720446
SET timestamp=1601013923;
SELECT id FROM `xxl_job_log`
WHERE !(
(trigger_code in (0, 200) and handle_code = 0)
OR
(handle_code = 200)
)
AND `alarm_status` = 0
ORDER BY id ASC;
- Init Database
# connect to mysql
mysql -uroot -p123456
# create database and use it
mysql> create database test;
mysql> use database test;
# create mysql_slow_query_log table
mysql> CREATE TABLE `mysql_slow_query_log` (
`id` int NOT NULL auto_increment,
`md5` VARCHAR(64) NOT NULL comment 'md5',
`env` VARCHAR(64) NOT NULL DEFAULT 'default' comment '环境',
`datetime` DATETIME NOT NULL comment '执行时间',
`database` VARCHAR(50) NULL comment '数据库',
`user` VARCHAR(50) NULL comment '数据库用户',
`host` VARCHAR(100) NULL comment '数据库主机',
`fingerprint` TEXT NULL comment 'SQL指纹',
`query` TEXT NOT NULL comment '执行语句',
`query_time` FLOAT DEFAULT NULL comment '执行时间',
`lock_time` FLOAT DEFAULT NULL comment '锁定时间',
`rows_examined` INT DEFAULT NULL comment '扫描总行数',
`rows_sent` INT DEFAULT NULL comment '返回总行数',
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY (`md5`)
);
# make sure mysql_slow_query_log table is created
mysql> show tables;
- Run MySQLog
mysqlog -uroot -p123456 -hlocalhost -P3306 -dtest -t2 -T0.5 -s"2021-01-01 00:00:00" mysql-slow.log
FAQ
-
how to enable mysql's slow query log
-
how to know mysql's slow query log file's location
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mysqlog-1.0.7.tar.gz
(14.7 kB
view details)
Built Distribution
mysqlog-1.0.7-py3-none-any.whl
(12.7 kB
view details)
File details
Details for the file mysqlog-1.0.7.tar.gz
.
File metadata
- Download URL: mysqlog-1.0.7.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e367e15ef9780cc96673b35b31a4744a05548522bb2b22ab29a5e5ee70903e9 |
|
MD5 | 55d4d9a86a42c58fc6c3f949506786dd |
|
BLAKE2b-256 | 46f7beaaa188fe0795a3e2dc36f65614eba01a051a71a21ca6ce45da39e352e9 |
File details
Details for the file mysqlog-1.0.7-py3-none-any.whl
.
File metadata
- Download URL: mysqlog-1.0.7-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c091bc059841e5ed373b0ad1fe7159a4916b89ba00617b3060286fc4922cf6d1 |
|
MD5 | 50b87da55c112bca1e4e24361a9d33c0 |
|
BLAKE2b-256 | e8e5cd9c7f29a7f3973327ee8282f61105a27cc663ffe9ef740effeece9a0477 |