Percona Toolkit 2.2.1
Download files for this release
Percona Toolkit 2.2.1 has been released. This is the first release in the new 2.2 series which supersedes the 2.1 series and renders the 2.0 series obsolete. We plan to do one more bug fix release for 2.1 (2.1.10), but otherwise all new development and fixes and will now focus on 2.2.
Percona Toolkit 2.2 has been several months in the making, and it turned out very well, with many more new features, changes, and improvements than originally anticipated. Here are the highlights:
* Official support for MySQL 5.6
We started beta support for MySQL 5.6 in 2.1.8 when 5.6 was still beta. Now that 5.6 is GA, so is our support for it. Check out the Percona Toolkit supported platforms and versions: http://
When you upgrade to MySQL 5.6, be sure to upgrade to Percona Toolkit 2.2, too.
* Official support for Percona XtraDB Cluster (PXC)
We also started beta support for Percona XtraDB Cluster in 2.1.8, but now that support is official in 2.2 because we have had many months to work with PXC and figure out which tools work with it and how. There's still one noticeable omission: pt-table-sync. It's still unclear if or how one would sync a cluster that, in theory, doesn't become out-of-sync. As Percona XtraDB Cluster develops, Percona Toolkit will continue to evolve to support it.
What does this all mean? In short: pt-online-
* pt-upgrade is brand-new
pt-upgrade was written once long ago, thrown into the world, and then never heard from again... until now. Now that we have four base versions of MySQL (5.0, 5.1, 5.5, and 5.6), plus at least four major forks (Percona Server, MariaDB, Percona XtraDB Cluster, and MariaDB Galera Cluster), upgrades are fashionable, so to speak. Problem is: "original" pt-upgrade was too noisy and too complex. pt-upgrade 2.2 is far simpler and far easier to use. It's basically what you expect from such a tool.
Moreover, it has a really helpful new feature: "reference results", i.e. saved results from running queries on a server. Granted, this can take _a lot_ of disk space, but it allows you to "run now, compare later."
If you're thinking about upgrading, give pt-upgrade a try. It also reads every type of log now (slow, general, binary, and tcpdump), so you shouldn't have a problem finding queries to run and compare.
* pt-query-digest is simpler
pt-query-digest 2.2 has fewer options now. Basically, we re-focused it on its primary objective: analyzing MySQL query logs. So the ability to parse memcached, Postgres, Apache, and other logs was removed. We also removed several options that probably nobody ever used, and changed/renamed other options to be more logical. The result is a simpler, more focused tool, i.e. less overwhelming.
Also, pt-query-digest 2.2 can save results in JSON format (--output=json). This feature is still in development while we determine the optimal JSON structure.
* Version check is on by default
Way back in 2.1.4, released September/October 2012, we introduced a feature called "version check" into most tools: http://
What's new in 2.2 is that, whereas this feature (specifically, the option in tools: --version-check) was off by default, now it's on by default. If the IO::Socket::SSL Perl module is installed (easily available through your package manager), it will use a secure (https) connection over the web, else it will use a standard (http) connection.
Check out http://
* pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player are gone
We removed pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player. Granted, no tool is ever really gone: if you need one of these tools, get it from 2.1. pt-log-player is now superseded by Percona Playback (http://
* pt-stalk and pt-mysql-summary have built-in MySQL options
No more "pt-stalk -- -h db1 -u me". pt-stalk 2.2 and pt-mysql-summary 2.2 have all the standard MySQL options built-in, like other tools: --user, --host, --port, --password, --socket, --defaults-file. So now the command line is what you expect: pt-stalk -h dhb1 -u me.
* pt-stalk --no-stalk is no longer magical
Originally, pt-stalk --no-stalk was meant to simulate pt-collect, i.e. collect once and exit. To do that, the tool magically set some options and clobbered others, resulting in no way to do repeated collections at intervals. Now --no-stalk means only that: don't stalk, just collect, respecting --interval and --iterations as usual. So to collect once and exit: pt-stalk --no-stalk --iterations 1.
* pt-fk-error-logger and pt-deadlock-logger are standardized
Similar to the pt-stalk --no-stalk changes, pt-fk-error-logger and pt-deadlock-logger received mini overhauls in 2.2 to make their run-related options (--run-time, --interval, --iterations) standard. If you hadn't noticed, one tool would run forever by default, while the other would run once and exit. And each treated their run-related options a little differently. This magic is gone now: both tools run forever by default, so specify --iterations or --run-time to limit how long they run.
There were other miscellaneous bug fixes, too. See https:/
As the first release in a new series, 2.2 features are not yet finalized. In other words, we may change things like the pt-query-digest --output json format in future releases after receiving real-world feedback.
Percona Toolkit 2.2 is an exciting release with many helpful new features. Users are encouraged to begin upgrading, particularly given that, except for the forthcoming 2.1.10 release, no more work will be done on 2.1 (unless you're a Percona customer with a support contract or other agreement).
If you upgrade from 2.1 to 2.2, be sure to re-read tools' documentation to see what has changed because much as changed for certain tools.
This release does not have a changelog.
8 blueprints and 11 bugs targeted
|Auto version-check||Auto version-check||5 Essential||Daniel Nichter||11 Implemented|
|MySQL 5.6 Compatibility||MySQL 5.6 Compatibility||5 Essential||Daniel Nichter||11 Implemented|
|PXC-certified Tools||PXC-certified Tools||5 Essential||Daniel Nichter||11 Implemented|
|Simplify pt-query-digest||Simplify pt-query-digest||5 Essential||Brian Fraser||11 Implemented|
|MySQL options for pt-mysql-summary and pt-stalk||MySQL options for pt-mysql-summary and pt-stalk||3 Medium||Brian Fraser||11 Implemented|
|Overhaul pt-upgrade||Overhaul pt-upgrade||3 Medium||Daniel Nichter||11 Implemented|
|Remove pt-query-advisor||Remove pt-query-advisor||3 Medium||Brian Fraser||11 Implemented|
|pt-heartbeat option to handle read_only=1 servers||pt-heartbeat option to handle read_only=1 servers||2 Low||Brian Fraser||11 Implemented|