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.

Product
Documentation

A single source for documentation on all of Percona’s leading, open-source software.

Financial Services

Driving Database Success

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

Muhammad Irfan
Muhammad Irfan is vastly experienced in LAMP Stack. Prior to joining Percona Support, he worked in the role of MySQL DBA & LAMP Administrator, maintained high traffic websites, and worked as a Consultant. His professional interests focus on MySQL scalability and on performance optimization.

MySQL Downgrade Caveats

In this blog, we’ll discuss things to watch out for during a MySQL downgrade. Previously, I wrote the blog MySQL upgrade best practices. Besides upgrading your MySQL version, sometimes you need to downgrade. When it comes to downgrading MySQL, there are two types of downgrade methods supported: In-Place Downgrade: In this method, you use the existing data […]

pmp-check-pt-table-checksum Percona Monitoring Plugin

Recently, I worked on a customer case where the customer needed to monitor the checksum via Nagios monitoring. The pmp-check-pt-table-checksum plugin from Percona Monitoring Plugins for MySQL achieves this goal. I thought it was worth a blogpost. pmp-check-pt-table-checksum alerts you when the pt-table-checksum tool from Percona Toolkit finds data drifts on a replication slave. pmp-checksum-pt-table-checksum monitors data differences on the slave from […]

Top Most Overlooked MySQL Performance Optimizations: Q & A

Thank you for attending my 22nd July 2016 webinar titled “Top Most Overlooked MySQL Performance Optimizations“. In this blog, I will provide answers to the Q & A for that webinar. For hardware, which disk raid level do you suggest? Is raid5 suggested performance-wise and data-integrity-wise? RAID 5 comes with high overhead, as each write […]

MySQL “Got an error reading communication packet”

In this blog post, we’ll discuss the possible reasons for MySQL “Got an error reading communication packet” errors and how to address them. In Percona’s managed services, we often receive customer questions on communication failure errors. So let’s discuss possible reasons for this error and how to remedy it. Try Now: Get MySQL Database Management […]

MySQL replication primer with pt-table-checksum / pt-table-sync, part 2

This is the second and last tutorial blog post on how to use pt-table-checksum / pt-table-sync tools for MySQL replication. In the first post, I showed you how to use the pt-table-checksum  / pt-table-sync  tools in a typical MySQL replication setup. In this post, we’ll discuss MySQL replication for more advanced topologies. I will show you how to […]

MySQL 5.7: CHANGE REPLICATION FILTER online

MySQL 5.7 has a lot of enhancements and new features. I summarized this list previously in this blog post. Adding replication filters online is one of the MySQL 5.7 features described in this manual. However, I will describe and summarize a few examples in this blog post. Filtering replication events is also known as Partial Replication. […]

MySQL replication primer with pt-table-checksum and pt-table-sync

MySQL replication is a process that allows you to easily maintain multiple copies of MySQL data by having them copied automatically from a master to a slave database. It’s essential to make sure the slave servers have the same set of data as the master to ensure data is consistent within the replication stream. MySQL […]

MySQL 5.7 key features

The other day I was discussing new features of MySQL 5.7 with a Percona Support customer. After that conversation, I thought it would be a good idea to compile list of important features of MySQL 5.7. The latest MySQL 5.7.6 release candidate (RC) is out and is packed with nice features. Here’s a list of […]

Deep dive into MySQL’s innochecksum tool

One of our Percona Support customers recently reported that Percona XtraBackup failed with a page corruption error on an InnoDB table. The customer thought it was a problem or bug in the Percona XtraBackup tool. After investigation we found that an InnoDB page was actually corrupted and a Percona XtraBackup tool caught the error as […]

3 handy tools to remove problematic MySQL processes

DBAs often encounter situations where they need to kill queries to ensure there are no long-running queries on a MySQL server that would impact performance. Long-running queries can be the result of many factors. Fortunately, Percona Server contains some handy tools to remove problematic MySQL processes. I will highlight all of the tools via some […]

MySQL 5.6 Transportable Tablespaces best practices

In MySQL 5.6 Oracle introduced a Transportable Tablespace feature (copying tablespaces to another server) and Percona Server adopted it for partial backups which means you can now take individual database or table backups and your destination server can be a vanilla MySQL server. Moreover, since Percona Server 5.6, innodb_import_table_from_xtrabackup is obsolete as Percona Server also […]

MySQL Upgrade Best Practices

MySQL upgrades are necessary tasks and we field a variety of questions here at Percona Support regarding MySQL upgrade best practices. This post highlights the recommended ways to upgrade MySQL in different scenarios. Why are MySQL upgrades needed? The reasons are many and include Access to new features, performance benefits, bug fixes… However, MySQL upgrades […]

How to identify and cure MySQL replication slave lag

Here on the Percona MySQL Support team, we often see issues where a customer is complaining about replication delays – and many times the problem ends up being tied to MySQL replication slave lag. This, of course, is nothing new for MySQL users and we’ve had a few posts here on the MySQL Performance Blog […]

MySQL Slow Query Log: Tools and Tips

MySQL has a nice feature: MySQL slow query log, which allows you to log all queries that exceed a predefined about of time to execute. Peter Zaitsev first wrote about this back in 2006 – there have been a few other posts here on the MySQL Performance Blog since then (check this and this, too) […]

MySQL Error: Too many connections

Editor’s Note: Follow up to this post here MySQL 5.7 Performance Tuning After Installation. We have always received quite a few questions here at Percona Support on how to avoid the dreaded “Too many connections” error, as well as what is the recommended value for max_connections. So, in this article, I will try to cover […]

InnoDB Performance Optimization Basics – Updated

I recently stumbled upon a post that Peter Zaitsev published back in 2007 titled “Innodb Performance Optimization Basics.” It’s a great post and reading it inspired me to examine what’s changed in the nearly six years that have followed in terms of MySQL, Percona Server – as well as in all of the other now-available […]

Crash-resistant replication: How to avoid MySQL replication errors

Percona Server’s “crash-resistant replication” feature is useful in versions 5.1 through 5.5. However, in Percona Server 5.6 it’s replaced with Oracle MySQL 5.6’s “crash safe replication” feature, which has it’s own implementation (you can read more about it here). A MySQL slave normally stores its position in files master.info and relay-log.info which are updated by […]