MK-CHECKSUM-FILTER(1)

πŸ“¦
version 7540 Β· 3 versions
, in fedora 43

πŸ’– MK-CHECKSUM-FILTER πŸ’–

okay bestie, so this is the manual page for mk-checksum-filter, a lil tool from the Perl world (User Contributed Perl Documentation, if you're keeping score πŸŽ€) that filters checksums from mk-table-checksum. it's giving "quietly iconic utility that does one job and does it flawlessly" and honestly? we're obsessed.


✨ NAME ✨

mk-checksum-filter β€” the tool that filters checksums from mk-table-checksum. πŸ’…


🌸 SYNOPSIS 🌸

Usage: mk-checksum-filter [OPTION]... FILE

so here's the vibe: mk-checksum-filter filters checksums from mk-table-checksum and prints the ones that differ. it's the friend who reads the whole group chat and only replies when something's actually wrong. πŸ¦‹

with no FILE, or when FILE is -, it reads standard input. queen behavior, honestly.

Examples, because we love a demo:

mk-checksum-filter checksums.txt

mk-table-checksum host1 host2 | mk-checksum-filter

mk-checksum-filter db1-checksums.txt db2-checksums.txt --ignore-databases

πŸ”₯ RISKS πŸ”₯

not to be dramatic but this section exists to tell you about the potential risks β€” whether known or unknown β€” of using this tool. the two main categories are: risks that come from the nature of the tool (like, is it read-only or read-write? that's a whole personality difference) and risks that come from bugs. 😭

mk-checksum-filter is read-only and very low-risk. she's a looker, not a toucher. πŸ‘‘

at the time of this release, we know of no bugs that could cause serious harm to users. no cap.

the authoritative source for updated info is always the online issue tracking system. issues that affect this tool will be marked as such, and you can peep the list right here: <http://www.maatkit.org/bugs/mk-checksum-filter>.

also check out the "BUGS" section below for more on filing bugs and getting help. 🫢


πŸ’œ DESCRIPTION πŸ’œ

this program takes the unsorted, verbose output from mk-table-checksum and sorts it, then filters it so you only see the lines that have different checksums or counts. it's a whole glow-up for your output. ✨

you can pipe input directly into it from mk-table-checksum, or you can save the mk-table-checksum's output and run mk-checksum-filter on the resulting file(s).

and here's the tea β˜•: if you run it against just one file, or pipe output directly into it, it'll output results during processing β€” instant gratification, we love. processing multiple files is slightly more expensive, and you won't see any output until they're all read. it's giving "patience is a virtue" and honestly? rude, but okay. πŸ™ˆ


⭐ EXIT STATUS ⭐

an exit status of 0 (sometimes also called a return value or return code) means no differences were found. if there were any differences, the tool exits with status 1. simple as that, periodt. πŸ’€


πŸŽ€ OPTIONS πŸŽ€

heads up bestie: --ignore-databases and --equal-databases are mutually exclusive. pick a lane, we can't do both. 😀

also, this tool accepts additional command-line arguments. refer to the "SYNOPSIS" and usage information for details. iykyk.

  • --equal-databases β€” type: Hash. this comma-separated list of databases are equal. these database names are always considered to have the same tables. in other words, this makes database1.table1.chunk1 equal to database2.table1.chunk1 if they have the same checksum. ⚠️ this disables incremental processing, so you won't see any results until all input is processed. sit tight, babe.
  • --header β€” short form: -h. preserves headers output by mk-table-checksum. keep the receipts. 🧾
  • --help β€” show help and exit. we love a queen who knows when to ask for directions. 🫢
  • --ignore-databases β€” ignore the database name when comparing lines. ⚠️ this disables incremental processing, so you won't see any results until all input is processed. same energy as above, no skipping ahead.
  • --master β€” type: string. the name of the master server. this specifies which host is the replication master, and sorts lines for that host first, so you can see the checksum values on the master server before the slave. main character gets top billing. πŸ‘‘
  • --unique β€” type: string. show unique differing host/db/table names. the argument must be one of host, db, or table. no other options, bestie, choose wisely. 🌈
  • --verbose β€” short form: -v. output all lines, even those that have no differences β€” except for header lines. the "tell me everything" setting. πŸ—£οΈ
  • --version β€” show version and exit. a classic. πŸ’…

πŸ¦‹ DOWNLOADING πŸ¦‹

you can download Maatkit from Google Code at <http://code.google.com/p/maatkit/>, or you can get any of the tools easily with a command like the following:

wget http://www.maatkit.org/get/toolname
or
wget http://www.maatkit.org/trunk/toolname

where toolname can be replaced with the name (or fragment of a name) of any of the Maatkit tools. once downloaded, they're ready to run β€” no installation is needed, which is the slay-est thing about it fr fr. the first URL gets the latest released version of the tool, and the second gets the latest trunk code from Subversion. 🌟


🌈 ENVIRONMENT 🌈

the environment variable MKDEBUG enables verbose debugging output in all of the Maatkit tools:

MKDEBUG=1 mk-....

turn it on when you need the lore. πŸ”


πŸ“ SYSTEM REQUIREMENTS πŸ“

you need Perl and some core packages that ought to be installed in any reasonably new version of Perl. nothing wild, we're low maintenance. πŸŽ€


😭 BUGS 😭

for a list of known bugs see <http://www.maatkit.org/bugs/mk-checksum-filter>.

please use Google Code Issues and Groups to report bugs or request support: <http://code.google.com/p/maatkit/>. you can also join #maatkit on Freenode to discuss Maatkit. come hang out, the vibes are immaculate. πŸ’œ

when you report something, please include:

  • the complete command-line used to reproduce the problem you're seeing,
  • the version of all MySQL servers involved,
  • the complete output of the tool when run with --version,
  • and if possible, debugging output produced by running with the MKDEBUG=1 environment variable.

give us the full story, bestie, not just the cliff notes. 🫢


this program is copyright 2007-2011 Baron Schwartz. feedback and improvements are welcome. πŸ’Œ

THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

translation: no promises, no guarantees, she is what she is. 😭

this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2; OR the Perl Artistic License. on UNIX and similar systems, you can issue man perlgpl or man perlartistic to read these licenses. ✨

you should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. πŸ’…


πŸ’– AUTHOR πŸ’–

Baron "Xaprb" Schwartz β€” icon, legend, the moment. πŸ‘‘


🌟 ABOUT MAATKIT 🌟

this tool is part of Maatkit, a toolkit for power users of MySQL. Maatkit was created by Baron Schwartz; Baron and Daniel Nichter are the primary code contributors. both are employed by Percona. financial support for Maatkit development is primarily provided by Percona and its clients. shoutout to the sponsors, we appreciate you. 🫢


⭐ VERSION ⭐

this manual page documents Ver 1.2.23 Distrib 7540 $Revision: 7477 $.


and that's the whole page, bestie!! this lil doc was brought to you by perl v5.42.0, dated 2025-07-24, and the manual name MK-CHECKSUM-FILTER(1) β€” go forth and diff those checksums, you absolute legend πŸ’…βœ¨πŸŒˆ

πŸ“¦ where this page comes from