Navigating The Various Versions Of MySQL

MySQL versions can make for interesting, yet at times confusing reading. In this article I will explore MySQL versions and shed light on them for anyone who uses or has worked with MySQL or LAMP environments.

First, let’s take a look at the version soup.

  • Version 5.2 was re-branded as version 6.0.
  • Version 6.0 was then canceled.
  • Version 5.4 then replaced version 6.0.
  • Version 5.4 was then re-branded as version 5.5.
  • MySQL NDB cluster comes with its own version system. As of this writing 7.2 is the latest release.
  • Innodb, the most used engine in MySQL now has its own version. MySQL 5.0 had a pre-InnoDB version 1.0, 5.1 has the default builtin and improved plugin version 1.0.xx, and the current General AvailabilityMySQL 5.5 has innodb version 1.1.xx.
  • MySQL 5.6 will be the next release from MySQL(Oracle). For a full feature list see

Forks And Patches

Adding more confusion to the various versions is the number of forks and patches.

  • Drizzle was a fork of MySQL 6.0. Drizzle is probably the only true fork – it has fully re-factored code and is in active development.
  • MariaDB is a release driven by Michael “Monty” Widenius, the original author of MySQL. MySQL 5.1 was the basis for MariaDB and as of this writing the latest version is MariaDB 5.5.
  • Percona has several patches for both MySQL 5.1 and MySQL 5.5. Percona patches are a re-base of the main release and XtraDB is a re-base of InnoDB. Both Percona Server and XtraDB are also not true forks of MySQL or Innodb. However, they have some very good performance and monitoring enhancements.
  • Facebook and Google also release patches for MySQL. These are done for specific company requirements, but as is often the case some of these Facebook, Google and Percona features eventually find their way into main releases.  Information on Facebook’s MySQL patches can be found at

Third Party Storage Engines

Outside of InnoDB and MyISAM, there are few third party plugins that suit specific needs as well.

Selecting The Right One

  • For most part, staying with the Oracle releases will suit most application needs. These releases are in active development, are generally stable and have binary versions for most systems.
  • MariaDB is binary compatible with MySQL and may suit certain needs. It also includes XtraDB from Percona. For a good comparison and the various incompatibilities, refer to
  • Going with a fork like Drizzle will likely require some application change. Drizzle does not maintain server level compatibility but does talk the MySQL protocol. For a full list of differences refer to
  • The Percona patches and versions provide a more seamless migration as they are generally fully compatible with the MySQL releases. If you are concerned about vendor support, Percona also provides that. Percona toolkit (formerly MaatKit) is a good addition and provides some nice tools to automate a variety of tasks. This toolkit can be used with any MySQL release and so you don’t need to run Percona server.
  • The third party engines come into a play only if are looking for specific features that come with the engines.

Links And Further Reading

Sriram (Sri) Rajan is a Principal Architect at Rackspace responsible for designing and architecting cloud based solutions for customers. He has more than 15 years of professional experience working with computer systems, networks, programming and security. Prior to joining Rackspace, Rajan worked as a systems programmer at Texas State University in San Marcos, where he also earned his masters degree in computer science. He studied and lived in the United States for a total of nine years before relocating to the U.K. in 2010. You can connect with him on social media at in/rajansriram and @sriramrajan.


Please enter your comment!
Please enter your name here