Review: MySQL Administrator's Bible



On the front cover of MySQL Administrator’s Bible is a sentence that reads:

“The book you need to succeed!”

I must say, I do agree. Authored by two very experienced DBAs, Sheeri Cabral and Keith Murphy, they’ve combined their talents to cover what you really need to know to succeed. This book is very versatile. If you’re new to MySQL, or experienced in another database and have to start administrating MySQL, you need this book. I can honestly say, even if you have years of MySQL experience, you will learn something new. I did. Divided into four parts, MySQL Administrator’s Bible covers your First Steps with MySQL, Developing with MySQL, Core MySQL Administration and Extending Your Skills.

First Steps with MySQL starts with a gentle introduction to MySQL with company information, which seems to be changing annually, and most importantly, the MySQL community itself. What makes MySQL so fantastic is the community. After that, you’ll be lead into installing and configuring MySQL on various platforms including Linux, Windows and Solaris while touching on post installation configuration too. Basic security is covered as well as some tips on troubleshooting and accessing your new MySQL installation using tools included with MySQL or using third party software.

Developing with MySQL covers the MySQL Language Structure and if you’re coming from another RDBMS, it covers how MySQL deviates from the SQL standard by extending that standard to make MySQL the number one open source database used on the Internet. After that, this section covers the same type of topics covering just about any other mainstream databases such as using stored procedures, cursors, events, views and transactions.

The Core MySQL Administration is the heart of this book. It covers MySQL server tuning, covering all major storage engines including MyISAM, InnoDB, Falcon, PBXT, and NDB engines including the first time I’ve seen in print, the Maria storage engine. An entire chapter is devoted to implementing cache tables and using the query cache. Memcached is also mentioned, and mentioned again in the final section. Continuing on with what I consider the most important job of a DBA, backup and recovery. Databases are very central to running a business, any data loss could put a company out of business. Be prepared.

This section gives a solid introduction to the topic of dealing with users, and how they are managed within MySQL. Count on covering GRANT/REVOKE, using SHOW GRANTS and mk-show-grants MaatKit tool. Partitioning, logging and replication and measuring performance rounds out this section.

If you have experience with another RDBMS, plan on spending a significant amount of time in this section. Not that the other sections aren’t important, they are, but this is the bread and butter of what a MySQL DBA does on a daily basis.

Extending You Skills section can be considered getting your Masters in Database Administration. Just about every DBA will have to tackle improving queries and the tuning of indexes. The second most important job of a DBA is monitoring performance of your MySQL server. Don’t let your users be your first line of monitoring! Be proactive, there are plenty of open source monitoring tools available. The most popular are discussed, as well as MySQL Enterprise and third party companies too. MySQL Data Dictionary is covered in in detail over 58 pages. This is the most I’ve read in any book about the data dictionary. 

Last but not least, most high performance MySQL systems involve scaling up or out. It covers the usual suspects of replication, MySQL Cluster, and memcached. MySQL Proxy is initially covered and has an appendix to expand on that information. MySQL Proxy itself is worthy of its own book. (hint, hint :) ) Two more appendices cover MySQL Functions and Operators, and additional resources.

Even though this book targets MySQL 5.1/6.0, there is plenty of information that will apply to 5.0. If you’re still on 5.0, don’t hesitate to pick up a copy. This will be a book that can stay with you as your upgrade to 5.1 and beyond. The companion website – http://www.wiley.com/go/mysqladminbible contains all the code from the book too, rounding out this fine tome.

What didn’t I like about the book? There are only a couple of things, all personal I’m sure. First, I really don’t care too much for tables of options from the various tools. Most open source tools are developed rather quickly and options change. This could render portions of the book out of date quickly.

The other thing I noticed that wasn’t mentioned in the book was the community versions of MySQL supported by Open Query and Percona. The latter has their own storage engine, XtraDB and backup solution, XtraBackup.

All in all, this is a very solid book on administering MySQL. This book digs deeper, the experience of the authors really show. Well done Sheeri and Keith!MySQL DBA & Programming Blog by Mark Schoonover