Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Daniel Nichter

Easy query metrics with MySQL Performance Schema

The MySQL Performance Schema exposes so much data that it’s not trivial to learn, configure, and use. With recently released Percona Agent 1.0.11 you can get query metrics – like min, max, and average query execution time – with a few clicks: Click “Apply” and about two minutes later you’ll have query metrics from Performance Schema, collected and […]

Faster fingerprints and Go packages for MySQL

I’m happy to announce Go packages for MySQL. Particularly exciting is a new query fingerprint function which is very fast and efficient, but I’ll talk about that later. First, go-mysql is currently three simple Go packages for parsing and aggregating MySQL slow logs. If you’ve been following Percona development, you’ve no doubt heard of Percona Cloud Tools (PCT), a […]

Introducing the 3-Minute MySQL Monitor

There are many cool, new things happening with Percona Cloud Tools.  To avoid “tl;dr” I will highlight only one new feature after a brief, general announcement.  The new feature is a 3-minute MySQL monitor.  I’ll blog later about other features. The general announcement is: Last week we quietly released a brand-new agent called Monitorama earlier this month highlighted, the […]

Percona Live 2014 behind; MySQL ahead

I started using MySQL 11 years ago.  That’s not too long compared to other people in the industry, but nonetheless here’s my perspective on the state of the MySQL industry after attending Percona Live MySQL Conference & Expo 2104. In short, the attitude around MySQL has changed from “Does it work?” to “Is it fast […]

Introducing Percona Cloud Tools for MySQL

I am proud to announce Percona Cloud Tools, the next generation of tools for MySQL.  I have been developing tools for MySQL for 10 years.  For the last 5 years, I have been developing Percona Toolkit (formerly “Maatkit”).  Almost 1 year ago, we began developing Percona Cloud Tools (PCT), first in-house, then in private beta, […]

Quick link to Percona Toolkit bugs

In this post I wanted to highlight percona.com/bugs/<tool> , for example: percona.com/bugs/pt-stalk.  This only works for Percona Toolkit.  We often advise people to check a tool’s current bugs, but we don’t always say how. The official link for Percona Toolkit bugs on Launchpad is https://bugs.launchpad.net/percona-toolkit/+bugs, but then you still have search from there.  So this quick link […]

Your troubles are over, pt-heartbeat 2.1

Poor pt-heartbeat 2.1: it was perfectly fine through Percona Toolkit 2.1.7, but it’s had a rough life since. Its troubles are finally over as of Percona Toolkit 2.1.10. At a conference recently, a user joked to me that “Percona Toolkit is awesome, but you really broke pt-heartbeat.” It’s true, and if you haven’t heard or […]

Percona Toolkit 2.2.2 released; bug fixes include pt-heartbeat & pt-archiver

During the Percona Live MySQL Conference & Expo 2013 the week before last, we quietly released Percona Toolkit 2.2.2 with a few bug fixes: pt-archiver –bulk-insert may corrupt data pt-heartbeat –utc –check always returns 0 pt-query-digest 2.2 prints unwanted debug info on tcpdump parsing errors pt-query-digest 2.2 prints too many string values Some tools don’t […]

MySQL 5.6 Compatible Percona Toolkit 2.2 Released

A new Percona Toolkit series has been released: Percona Toolkit 2.2 for MySQL 5.6. Several months in the making and many new features, changes, and improvements make this a great new series. It replaces the 2.1 series for which we plan to do only one more bug fix release (as 2.1.10) then retire. 2.2 is […]

MySQL 5.5 lock_wait_timeout: patience is a virtue, and a locked server

Like Ovais said in Implications of Metadata Locking Changes in MySQL 5.5, the hot topic these days is MySQL 5.6, but there was an important metadata locking change in MySQL 5.5.  As I began to dig into the Percona Toolkit bug he reported concerning this change apropos pt-online-schema-change, I discovered something about lock_wait_timeout that shocked me.  From the […]

CentOS 5.8 users: your UTF-8 data is in peril with Perl MySQL

CentOS 5.8 and earlier use Perl module DBD::mysql v3.0007 which has a bug that causes Perl not to flag UTF-8 data as being UTF-8.  Presuming that the MySQL table/column is using UTF-8, and the Perl MySQL connection is also using UTF-8, then a correct system returns: PV = 0x9573840 "\343\203\213 \303\250"\0 [UTF8 "\x{30cb} \x{e8}"] That’s a Devel::Peek inside a Perl scalar variable which […]

Percona Toolkit 2.1.9 is ready

About a month ago, we held a bug raffle for Percona Toolkit 2.1.9.  The turnout was good and the resulting release is worth upgrading to, especially if you were affected by the backwards-incompatible changes to pt-heartbeat in 2.1.8.  Here are the release notes for Percona Toolkit 2.1.9 which highlight the bugs fixed: Percona Toolkit 2.1.9 has been released. […]

Percona Toolkit 2.1.9 bug raffle

Since we’re very busy working on Percona Toolkit 2.2 and other projects, I thought 2.1.8 (the current latest Percona Toolkit release) would be the last release in that series, but it introduced a new bug in pt-heartbeat (despite all the tool’s tests) that I’d like to fix. A single bug fix is probably underkill for a […]

Knowing what pt-online-schema-change will do

pt-online-schema-change is simple to use, but internally it is complex.  Baron’s webinar about pt-online-schema-change hinted at several of the tool’s complexities.  Consequently, users often want to know before making changes what pt-online-schema-change will do when it runs.  The tool has two options to help answer this question: –dry-run and –print. When ran with –dry-run and –print, pt-online-schema-change changes nothing […]

Using pt-table-checksum with Percona XtraDB Cluster

As of Percona Toolkit v2.1.5, pt-table-checksum works correctly with Percona XtraDB Cluster, but it doesn’t work quite like a traditional replication setup because cluster nodes are not like traditional replicas.  In this post I demonstrate how to use pt-table-checksum with Percona XtraDB Cluster. First, you’ll need Percona Toolkit v2.1.5 or newer and Percona XtraDB Cluster 5.5.27-23.6 […]

Released: Percona Toolkit 2.1.5

Although Percona Toolkit 2.1.4 was recently released, we soon after found and fixed a couple of bugs concerning how pt-table-checksum works with Percona XtraDB Cluster: pt-table-checksum 2.1.4 doesn’t detect diffs on Percona XtraDB Cluster nodes pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes There was also a bug affecting pt-table-sync –version-check, and the […]

DBD::mysql 4.014 breaks pt-table-checksum 2.0

DBD::mysql 4.014 breaks pt-table-checksum 2.0.  The cause is unknown, but the effect is a lot of errors like: DBD::mysql::st execute failed: called with 2 bind variables when 6 are needed [for Statement “…” with ParamValues: …] at ./pt-table-checksum line 7216. The fix is simple: upgrade (or even downgrade) DBD::mysql to any version except 4.014. To […]