MySQL 101: Best Resources for Learning Fast

By Janis Griffin on June 11, 2015

One of the best things about being a DBA is that I am always learning. As a long time DBA (+25 years), who has worked with about every database type imaginable, I find that my latest challenge is to keep up with all the new features and functionality the latest versions have to offer. This becomes especially challenging since for the last 8+ years, I’ve worked across many different database types – i.e. Oracle, SQL Server, Sap ASE, and IBM DB2 LUW.   Now, we are throwing MySQL databases into the mix.

My latest learning challenge is coming up to speed with all the new functionality in MySQL version 5.6 and 5.7 (preview release).  Now mind you, I was first introduced to MySQL version 3.some.point.release in 2001! Ultimately, I had to support over 50 installations of MySQL version 4.some.point.release over the next 6 years.  So while MySQL is not a new database type for me, it’s definitely changed a great deal since I last managed or worked with it. As I stated before, my latest quest is learning ‘all things – MySQL’ so I thought it’d be great to share some of the best resources I’ve found so far…

In this article, I’ll share my most recent findings for great resources for learning fast about MySQL.

What are the major differences between MySQL and other RDBMS’s?

A good place to start understanding how MySQL works, is to compare it with other RDBMS platforms you already know. like SQL Server, Oracle, SAP ASE and DB2.  A great resource for comparison is the DB-Engines site, which maintains a detailed comparison of system properties. This site is regularly updated, and it not only compares SQL Server and Oracle with MySQL, but allows you to choose many other systems, such as PostgresSQL, MongoDB, etc…  You can even compare MySQL with the more enhanced versions of MariaDB and Percona Server.

Also, Troels Arvin has published a very useful and detailed page comparing SQL language implementations across the different RDBMS’s:

Which MySQL blogs are best to read?

I always look to specific database communities when learning about any nuances of a database platform. I find that any expert tips and techniques quickly help improve my skills. As of this writing, some of my favorite bloggers are listed below.  This list is by no means exhaustive (and I invite your recommendations for additions!):

Ronald Bradford

Chris Calendar

Andrew Hutchings

Mark Leith

Michael McCalughlin

Baron Schwartz

Dave Stokes

Morgan Tocker

Marco Tusa

Daniel van Eeden

Peter Zaitsev


What should you know about performance and MySQL?

In earlier versions of MySQL, managing and monitoring performance was definitely different from other databases like Oracle and SQL Server. For example, there were little or no instrumentation of wait events and meta/performance data (Information_Schema and Performance_Schema) was nonexistent. Often, you had to spend hours sifting through logs and many system metrics to determine what the database was waiting on.

Even as recently as version 5.5, the Performance_Schema (if configured) was disabled by default.  This was probably due to the many issues when accessing these schemas, as they could cause locking and performance problems.  Fortunately, 5.6 has greatly improved both the access and the content of the Performance_Schema, so it’s enabled by default and can be easily referenced when performance issues occur.

Here are some good articles on this topic:

Using MySQL Performance Schema for Workload Analysis from GitHub Engineering

A bigger list of papers, presentations and more on MySQL Performance from Oracle


Other very useful resources

A few more great resources to add to these:

All things MySQL at

More great in-depth MySQL information at DZone

Comparison of MySQL versions at dbi services

MySQL Tutorials

A virtual self study group for MySQL from Oracle ACE Director Sheeri Cabral

Another great MySQL tutorial site, this one from Daniel Convissor

Finally, I’d like to leave you with a quote from Donald Rumsfeld, “There are known knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don’t know. But there are also unknown unknowns. There are things we don’t know we don’t know.”  It’s the stuff I don’t know that I don’t know that excites me about learning, so if you have a favorite MySQL resource, please share by commenting below.

Related Posts


Leave a Reply