This toolkit contains essential command-line utilities for MySQL, such as a
table checksum tool and query profiler. It provides missing features such as
checking slaves for data consistency, with emphasis on quality and
maatkit.1p Maatkit is a collection of command-line utilities that provide missing functionality for MySQL. Some of the tools implement lacking server functionality, such... mk-archiver.1p mk-archiver is the tool I use to archive tables as described in <http://tinyurl.com/mysql-archiving>. The goal is a low-impact, forward-only job to nibble old... mk-checksum-filter.1p This program takes the unsorted, verbose output from mk-table-checksum and sorts it, then filters it so you only see lines that have different checksums or... mk-config-diff.1p mk-config-diff diffs MySQL configurations by examining the values of server system variables from two or more CONFIG sources specified on the command line. A... mk-deadlock-logger.1p mk-deadlock-logger extracts deadlock data from a MySQL server. Currently only InnoDB deadlock information is available. You can print the information to... mk-duplicate-key-checker.1p This program examines the output of SHOW CREATE TABLE on MySQL tables, and if it finds indexes that cover the same columns as another index in the same order... mk-error-log.1p mk-error-log parses MySQL error logs, finding new and different entries, and reports on the frequency and severity of each common entry. Regex patterns are used... mk-fifo-split.1p mk-fifo-split lets you read from a file as though it contains only some of the lines in the file. When you read from it again, it contains the next set of... mk-find.1p mk-find looks for MySQL tables that pass the tests you specify, and executes the actions you specify. The default action is to print the database and table name... mk-heartbeat.1p mk-heartbeat is a two-part MySQL and PostgreSQL replication delay monitoring system that measures delay by looking at actual replicated data. This avoids... mk-index-usage.1p This tool connects to a MySQL database server, reads through a query log, and uses EXPLAIN to ask MySQL how it will use each query. When it is finished, it... mk-kill.1p mk-kill captures queries from SHOW PROCESSLIST, filters them, and then either kills or prints them. This is also known as a "slow query sniper" in some circles... mk-loadavg.1p mk-loadavg watches a MySQL server and takes action when a defined threshold is exceeded. One or more items can be watched including MySQL status values from... mk-log-player.1p mk-log-player does two things: it splits MySQL query logs into session files and it plays (executes) queries in session files on a MySQL server. Only session... mk-merge-mqd-results.1p This is a light-weight script for merging and reporting on results saved by mk-query-digest --save-results. mk-parallel-dump.1p mk-parallel-dump connects to a MySQL server, finds database and table names, and dumps them in parallel for speed. Only tables and data are dumped; view... mk-parallel-restore.1p mk-parallel-restore is a way to load SQL or delimited-file dumps into MySQL in parallel at high speed. It is especially designed for restoring files dumped by... mk-profile-compact.1p mk-profile-compact slices and aligns the output from mk-query-profiler so you can compare profile results side by side easily. It prints the first profile... mk-purge-logs.1p mk-purge-logs purges binary logs on a master based on "--purge-rules" by executing "PURGE BINARY LOGS TO". mk-query-advisor.1p mk-query-advisor examines queries and applies rules to them, trying to find queries that look bad according to the rules. It reports on queries that match the... mk-query-digest.1p This tool was formerly known as mk-log-parser. "mk-query-digest" is a framework for doing things with events from a query source such as the slow query log or... mk-query-profiler.1p mk-query-profiler reads a file containing one or more SQL statements or shell commands, executes them, and analyzes the output of SHOW STATUS afterwards. It... mk-show-grants.1p mk-show-grants extracts, orders, and then prints grants for MySQL user accounts. Why would you want this? There are several reasons. The first is to easily... mk-slave-delay.1p "mk-slave-delay" watches a slave and starts and stops its replication SQL thread as necessary to hold it at least as far behind the master as you request. In... mk-slave-find.1p mk-slave-find connects to a MySQL replication master and finds its slaves. Currently the only thing it can do is print a tree-like view of the replication... mk-slave-move.1p This tool knows how to disconnect and reconnect slaves to each other, compare replication positions, and so on. This makes it able to move a slave around the... mk-slave-prefetch.1p mk-slave-prefetch reads the slave's relay log slightly ahead of where the slave's SQL thread is reading, converts statements into "SELECT", and executes them... mk-slave-restart.1p mk-slave-restart watches one or more MySQL replication slaves and tries to skip statements that cause errors. It polls slaves intelligently with an... mk-table-checksum.1p mk-table-checksum generates table checksums for MySQL tables, typically useful for verifying your slaves are in sync with the master. The checksums are... mk-table-sync.1p mk-table-sync does one-way and bidirectional synchronization of table data. It does not synchronize table structures, indexes, or any other schema objects. The... mk-table-usage.1p mk-table-usage reads queries from slow query logs and analyzes how they use tables. Table usage indicates more than just which tables are read from or written... mk-tcp-model.1p This tool recognizes requests and responses in a TCP stream, and extracts the "conversations". You can use it to capture the response times of individual... mk-upgrade.1p mk-upgrade executes queries from slowlogs on one or more MySQL server to find differences in query time, warnings, results, and other aspects of the querys'... mk-variable-advisor.1p mk-variable-advisor examines "SHOW VARIABLES" for bad values and settings according to the "Rules" described below. It reports on variables that match the... mk-visual-explain.1p mk-visual-explain reverse-engineers MySQL's EXPLAIN output into a query execution plan, which it then formats as a left-deep tree -- the same way the plan is...