All open source applications use MySQL database.
With the introduction of stored procedures in MySQL 5, it is getting widely adopted by Oracle developers and commercial organizations.
If you are sysadmin, DBA, or developer, or someone who manages IT development, you should have good knowledge on MySQL database.
A while back, I provided a list of 12 best Linux books.
In this article, I’ve provided a list of 12 best MySQL books that covers various topics in MySQL for various skill levels. You’ll not be disappointed with any of these MySQL books. These books will be a great addition to your technical library.
- High Performance MySQL: Optimization, Backups, Replication, and More, by Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy Zawodny, Arjen Lentz, Derek J. Balling. This is hands-down the best book on MySQL performance. If you are running a big MySQL database in production, this book is a must. Every MySQL DBA (sysadmins, and developers too) should read this book. One of the authors of the book worked as performance engineer at the MySQL AB company. This book explains everything you need to know about MySQL performance including MySQL architecture, MySQL benchmarking tools, MySQL schema optimization, SQL query performance, optimizing server settings, MySQL replication and high availability, and MySQL security.
- MySQL Cookbook, by Paul DuBois. This is a big book with 900+ pages. If you are a developer who has to store and retrieve data from MySQL database, this book is a must. This explains how to use mySQL client, how to write MySQL program that connects to a DB, selects a DB, and queries data. This book explains about table management, strings, date and time, query sorting, and summary report generation. You’ll also learn about how to import and export data, and create stored procedures.
- MySQL Administrator’s Bible, by Sheeri K. Cabral and Keith Murphy. This is probably the only book that covers MySQL 5.1 in full detail. This also explains about MySQL 6. This covers all aspects of MySQL database administration including MySQL server tuning, query optimization, index tuning, managing storage engines, caching, authentication and managing users, partitioning and replication, logging, database and performance monitoring, security, backup and recovery, managing availability and scaling.
- MYSQL in a Nutshell, by Russell Dyer. If you’ve used other “In a Nutshell” series from O’Reilly, you would love this book. Please keep in mind that this is a reference manual to MySQL statements, functions, and administrative utilities. This contains MySQL programming lanague API for PHP, Perl, and C. MySQL replication, triggers, and stored procedures are explained with examples.
- MySQL (4th Edition), by Paul DuBois. This is a huge book with around 1200 pages. The fact that this book is in 4th edition shows how popular this book is. It is well organized around three topics 1) General MySQL, 2) MySQL programming interface for C, Perl and PHP, and 3) MySQL Administration. The appendix in this book is well structured with data type reference, MySQL operator reference, functions reference, and SQL syntax reference.
- MySQL High Availability: Tools for Building Robust Data Centers, by Charles Bell, Mats Kindahl, Lars Thalmann. This book is written by the team who devloped the MySQL replication functionality. If you are planning to implement MySQL replication, this book is a must. This is the best book that covers MySQL replication in a great depth. The book is organized into three high level parts. Part 1 covers MySQL replication fundamentals, binary log, replication for high availability, replication for scale-out, and advanced replication. Part 2 covers storage engine monitoring, replication monitoring, replication troubleshooting in great depth. Part 3 covers MySQL in cloud computing, and MySQL cluster.
- Understanding MySQL Internals, by Sasha Pachev. Just like the title says, this book explains about how the MySQL internal works by walking us through the source code. This book was written by a former MySQL developer. This book is not for MySQL beginner. But if you’ve been using MySQL for a while, you’ll learn a lot of details about how MySQL works, how to add your own storage engine, understand the core classes, structures, variables and API of MySQL source code.
- MySQL Stored Procedure Programming, by Guy Harrison, Steven Feuerstein. Oracle developers never took MySQL seriously, until the stored procedures were implemented in MySQL 5. This book explains everything you need to know about how to implement stored procedures in MySQL with lot of practical examples. This book is organized in four high level parts. Part 1 covers the stored procedure fundamentals, including language fundamentals, blocks, conditional statements, and error handling. Part 2 covers stored procedure construction, including creating and maintaining stored procedures, transation management, MySQL built-in functions, stored functions, and triggers. Part 3 covers how to use MySQL stored procedures in PHP, Java, and Perl. Part 4 covers optimizing stored procedures, including security, and tunning.
- Pro MySQL (Expert’s Voice in Open Source), by Michael Kruckenberg, Jay Pipes. Just like the name of the book suggests, this is not for MySQL beginners. This is for intermediate to advance MySQL users and administrators. On a high level, this book is organized into two parts 1) For MySQL design and development that covers MySQL architecture, indexes, stored procedures, functions, cursors, views, and triggers in a very detailed level 2) MySQL administration that discuss about security, backup and restore, replication, cluster in a very detailed level.
- Learning MySQL, by Seyed Tahaghoghi, Hugh Williams. This is a wonderful book for those who are new to MySQL, and would like someone to walk them through step-by-step on various MySQL features. This book is organized into 6 high level parts that covers MySQL introduction, Using MySQL, advanced MySQL topics, web development with MySQL and PHP, web development with MySQL and Perl.
- MySQL Pocket Reference: SQL Functions and Utilities (Pocket Reference (O’Reilly)), by George Reese. Even for those who use MySQL database everyday, it is hard to remember all MySQL commands and its syntax. This is a reference book that should be on your desk for a quick lookup on MySQL commands and options. This reference guide provides syntax and options for data types, sql, operators, and functions.
- Expert MySQL, by Dr. Charles A. Bell. This is not for beginners. Once you understand the basics of MySQL, if you are looking to extend your MySQL knowledge, you should read this book. This book is organized into three high level parts. Part 1 covers anotomy of MySQL database, and provides a tour of the MySQL source code. Part 2 explains how to extend MySQL including debugging, building custom storage engine, adding custom functions and commands to MySQL database. Part 3 covers advanced database internals including system internals, query representation, query optimization, and query execution in a great depth.
For more MySQL books that I recommend, browse The Geek Stuff bookstore at Amazon.