MySQL Toolkit distribution 620 updates documentation and test suites, includes some major bug fixes and functionality changes, and adds one new tool to the toolkit. This article is mostly a changelog, with some added notes.
Many of the tools have matured and I just needed to make the documentation top-notch, but there’s still a lot to be done on the crucial checksumming and syncing tools. Time is in short supply for me right now, though. In fact, I actually finished this release on June 22, but wasn’t able to release it till just tonight!
Documentation is now maintained online at the MySQL Toolkit website, by the way.
- Added more hooks for plugins before and after archiving.
- MySQL Archiver could crash on a lock wait timeout when
--txnsizewas not set
- Changed the format of the
mysql-query-profiler and mysql-profile-compact
Version 0.9.2. This is an initial release of a new tool. I found myself in a situation where I needed to do some complex error-skipping on a replica (its relay logs got into an infinite loop). I have written throwaway scripts to skip, restart, check, skip several times in the past, but this situation called for something more complex. Again I realized I was three-quarters of the way to a more flexible, powerful tool many people might find useful, so I went ahead and put the extra effort into it.
It ended up helping me avoid re-snapshotting a replica with a ton of data, so it was worth it.
mysql-table-checksum and mysql-checksum-filter
This version fixes some badly optimized chunking queries. As I have mentioned in the past, the chunking behavior is preliminary and subject to change. This is still true, but this release is much smarter than the previous release! I have also fleshed out some methods of doing chunking on real-valued columns (float, decimal, and even character). I don’t know when I’ll get a chance to code, test, and release that.
Even though much remains to be done, MySQL Table Checksum is still a great way to check that your replicas have the same data as the master. (In fact, it’s the only way I know of—and MySQL employees themselves recommend MySQL Table Checksum).
- Support complex host definitions.
--explainhostsoption to debug host definitions.
- When exact chunking is impossible, mysql-table-checksum will use approximate.
- Added required ‘boundaries’ column to checksum table for
- Chunking on temporal types defeated indexes.