So I told myself "I wish I had a tool that installed plugins
instantly and painlessly, the way MySQL Sandbox installs a
server.
There you go. So yesterday I had enough of suffering and have put
together an installation script that does a good job of
installing several plugins with little or no effort.
OverviewHow does it work? For now, it's a separate script, but it
will soon end into SBtool, the Sandbox tool.
Plugins need different operations, and the difficult part is
finding a clear way of …
A few years ago, during the MySQL Conference opening keynote, two
world maps of MySQL downloads were displayed. With the lights
down, they made an impression.
Oddly enough, to the best of my knowledge, the downloads map has
not been drawn again since then. I asked my friend and colleague
Markus Popp, and he provided the data from the downloads logs,
leaving the implementation to me.
A first attempt with Google Maps API produced a chart that is
nice to see for a single country or town, but hardly pleasant for
the entire world.
Then, I abandoned the easy path, and looked at CPAN for inspiration,
and immediately found something that could solve my problem.
Using …
In a couple of recent consulting cases, I needed a tool to analyze how a log of queries accesses indexes and tables in the database, specifically, to find out which indexes are not used. I initially hacked together something similar to Daniel Nichter’s mysqlidxchk, but using the framework provided by Maatkit, which gave me a pretty good start right out of the box. This was useful in the very tight time constraints I was under, but was not a complete solution. Alas, I could not use anything like Percona’s enhancements for finding unused indexes.
So, in response to another consultant’s customer request (and sponsorship — thank you!) I spent more time actually writing a real tool in the Maatkit style, with full tests and all the rest of the usual goodies. The resulting …
[Read more]The May release of Maatkit included a new feature in mk-query-digest. This allows you to process queries in many pieces, write out intermediate results, and then combine the pieces in a separate step. Maybe it’s not exactly map-reduce, but it makes a good headline.
The purpose is to enable query analysis across an arbitrarily large group of servers. Process queries on all of them, ship the results to a central place, and then combine them together. Pre-processing the results has some nice benefits, such as reduced bandwidth requirements, speeding up processing by doing it in parallel, and reducing the workload on the central aggregator. One Percona customer with many MySQL instances is trying this out.
The --save-results
option on mk-query-digest saves
the digested results to a file, stopping just before the final
stages of the query event pipeline. There is a tool in Subversion
trunk, tentatively called …
Just a quick notice to let everyone know that there is a new version of Kontrollkit available. There are some required bug fixes to the formerly new python backup script and some Solaris compatible changes to the various my.cnf files. You can download the new version here: http://kontrollsoft.com/software-downloads, or here: http://code.google.com/p/kontrollkit/
It's been an extremely busy year thus far with all the great work
we're doing at NorthScale as well as the release of CaptTofu 2.0
(My son Kiran!). With the new UI on rt.cpan.org, in my spare
time, I went through and closed some bugs, hence a new
release of DBD::mysql, 4.014. In this release:
* BUG 30033 Fixed handling of comments to allow comments that
contain characters
that might otherwise cause placeholder detection to not
work properly
* BUG 53844, Fix for memory leak in stats. (Gregory
Burmistrov)
* BUG 49719, Fix for handling of NULLs in prepared statements
(Gert Pache)
* BUG 55627, Fix for testing failure due to strict mode
(Yves)
* BUG 51784, Fix for mysqladmin on Windows in Makefile (Zeeshan
Muhammad)
* BUG 41630, Typo in Makefile
There are other bugs in rt.cpan.org, hence a pending release in
the next week or two. I like an empty bug list! …
Quick note to let our users know that there was an XML tag closure error on the “alert_22″ subroutine in the “bin/kontroll-reporter-cli.pl” script. This does not affect the webapp portion of Kontrollbase – only reports generated via the command line reporter script. It is not a fatal error but will cause the XML file to […]
Just a quick notice to let everyone know that there is a new version of Kontrollkit available. There are two new scripts included as well as some good updates to the my.cnf files. You can download the new version here: http://kontrollsoft.com/software-downloads kt-mysql-systemcheck – generates a report for point-in-time system status that is useful for troubleshooting MySQL [...]
Maatkit does more than just MySQL. I’ve just committed a new version of mk-query-digest, a powerful log analysis tool, with support for Posgtres logs, in both syslog and stderr format. I’m hoping that people will give this a spin in the real world. I have lots of test cases, but that’s never enough; I’m looking for people to crunch their logs and let me know if anything breaks.
A brief tutorial:
# Get it
$ wget http://www.maatkit.org/trunk/mk-query-digest
# Run it
$ perl mk-query-digest --type pglog /path/to/log/file
# Learn about it (search for the string "pglog")
$ perldoc mk-query-digest
I’m going to close comments on this blog post so I don’t get bug reports in the comments. If you have feedback, please post it to the Maatkit mailing list, or …
[Read more]The time has come for major performance improvements to the reporter, stats-gather, alerter, and client scripts. This means that I will be rewriting the scripts in Python. A couple of reasons for this; to cut down on the number of modules that are required for the installation process (which also makes distributing the client script [...]