This release fixes some minor bugs and adds a plugin mechanism. Now you can extend MySQL Archiver with your own code easily. You could use this to run setup and tear-down, hook code into the archiving process, and more. Possibilities include building summary tables in a data warehouse during archiving, handling dependencies such as foreign keys before archiving each row, or applying advanced logic to determine which rows to archive.
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
MySQL Archiver is the implementation of the efficient forward-only archiving and purging strategies I wrote about more than a year ago. It nibbles rows from a table, then inserts them into another table and/or writes them to a file. The object is to do this without interfering with critical online transaction-processing (OLTP) queries.
Since starting the innotop and mysqltoolkit projects on Sourceforge, I have learned a lot about how to use source control more effectively -- especially how branching and tagging can be used. Still, I have limited experience. I want to package all the tools in MySQL Toolkit together and release them in one archive, but I don't know the best way to do it; every idea seems to have drawbacks. Read on for the details, and if you have suggestions, would you please leave comments for me?
MySQL Table Checksum 1.1.6 enhances chunking, adds features and fixes bugs. The chunking functionality is where I continue to put most of my effort. This release's behavior is incompatible with the last release, and it will probably change again in the future.
Thanks to everyone who has been helping me chase down bugs, including one user who sent me a major patch! It's a great feeling to get a patch.
Today I published the DGCov tool on the MySQL Forge.
DGCov is a neat tool that I implemented last year for use
internally at MySQL, an old idea of Monty's.
The idea is to help developers to check that a new patch for the
server code has received adequate testing before pushing it to
the main tree. The GCC compiler has the gcov tool that can check
which lines of the source code were never executed even once. But
suppose you change a few 1000 lines across a big source base like
MySQL. Then GCov output is not all that useful, since it will
report tons of lines as not executed, and it is difficult to
manually check which of those lines were touched by your
patch.
The DGCov tool takes the GCov output and filters it so that it
only shows those lines that were touched by the patch being
checked. This output is immediately applicable to the work done …
This release of MySQL Table Sync adds the ability to sync only part of a table, adds minor new functionality, and fixes a bug that could crash the tool.
MySQL Table Checksum 1.1.5 adds a some useful features and fixes a couple of bugs. Now you can checksum tables in chunks, and there is an option to pause between chunks as well. This has already helped me recover a very large table that got out of sync on the slaves, and many of you have also requested this feature.
A few people have asked me how fast MySQL Table Checksum is. As with so many other things, it depends. This article shows how long it takes to checksum real data on a production server I help manage, which might give you a rough idea of how long it'll take on your servers.
Eric
Bergen from Proven Scaling (which I had the pleasure to meet
in person during the MySQL Conference & Expo in Santa Clara last month)
was kind enough to send me a patch for the mylmbackup tool, which
justifies a new release:
Attached is a patch file for mylvmbackup that adds the ability to use
lvm version 2 and perform innodb recovery on the snapshot prior to
creating a tar ball. The option is named --innodb-recover.
I've also fixed a bug with default value handling for command line
options. In version 0.4 if a config file was specified default values
in the script were all changed to blank. This means that the config
file had to supply values for every variable instead of just the
values that need to be changed from default.
This …
[Read more]
If you've used the UNIX find command for more than a
trivial find-and-print, you know how powerful it is; it's almost
a miniature programming environment to find and manipulate files
and directories. What if you could do the same thing with MySQL
tables and databases? That was the inspiration for writing this
tool. I was about to write several other tools to do some MySQL
administrative jobs when I realized I could generalize and make
something much more useful and powerful.