How to be a MySQL DBA and the best MySQL book on the planet.

Recently there was a thread on the mysql mailing list discussing how to become a MySQL DBA. I’m not sure the MySQL DBA role exists in the same capacity that it does in Oracle. Historically the Oracle’s DBAs that I’ve met are focused purely on Oracle. They focus on maintaining Oracle based systems including managing migrations, upgrades, table space sizes and other tasks. MySQL DBAs tend to be filed in to two different buckets, people that work like developers and help with query optimization and people that work like sys admins and are focused on the operation of MySQL. There are very few people who can fill both roles and I think that’s why there are so many MySQL DBA jobs on the market. Companies are looking for one DBA when they should really be looking for two.

Jeremy’s post on how to hire a MySQL DBA is still true today. These people still don’t exist. I’ve noticed there are two groups of people with part of the skills needed to be a MySQL DBA. Good Oracle DBAs tend to be very well versed in SQL and query optimization. They’re good at working with developers to write queries that will play nice with the database. They have brains that think in sets of data and can handle complex query logic. The downside is that they have only been exposed to Oracle which includes everything and have a hard time with the LAMP world where systems must be built out of a lot of separate components.

Sys admins on the other hand are used to managing daemons, working with rsync, linux, and shells. They can handle software deployment, monitoring, and understand system performance from the operating system level. They understand the basics of configuration and quite a few of them can handle simple MySQL tasks such as installation and basic replication configuration. They tend to not have very much experience in query optimization or the specifics of how applications interact with databases. I’ve long held the opinion that MySQL should just be another component in the system and doesn’t need specialized and isolated monitoring solutions which makes it easier for a group of sys admins for it to monitor along side apache and other daemons. To turn a sys admin in to a DBA they need to understand the special requirements MySQL has such as i/o latency and atomicity of backups. Good sys admins can pick up these skills quickly.

This brings me to the best MySQL book on the planet, High Performance MySQL Second Edition. Why is it the best? Because it applies to both types of DBAs and can help them develop the skills they need to become a super DBA that can handle both the sys admin tasks and the query optimization tasks. The book has been out for roughly two years and is still very relevant. I recommend it to everyone that asks me where they can go to learn how to be a MySQL DBA and it’s never disappointed. A quick note on books. Don’t loan out your copy, ask the person you recommend it to to buy a copy. It helps the writers and this book should be on the desk of anyone working with MySQL.

4 Comments

  1. I very much enjoy my copy of High Perf MySQL 2nd edition; however, it sometimes does not explain the “why” of things, and therefore I don’t think it’s a good book to LEARN how to be a MySQL DBA. I think the audience is better suited to a MySQL DBA who’s intermediate or advanced and needs more tips on how to find the problems in their systems.

    (I’ve handled mistakes from clients who’ve used the 2nd edition as gospel but not realized what applied to their site and what did not.) Overall the book is an EXCELLENT book, but it’s for someone who wants to *learn* how to be a DBA, it’s for someone who wants to learn how to be a *better* MySQL DBA — there’s a very important difference.

  2. Thanks, that’s a nice compliment.

    I agree with Sheeri — this is not an intro-level book. We didn’t want it to be; it’s a challenge to write for advanced users, much more so for a mixture.

    I have enough notes for a 3rd edition to make it several thousand pages. But there will be no 3rd edition until the 2nd edition stops selling so well :-)

  3. Eric Bergen says:

    I never suggested it as a beginner book. I think it’s a good book for people that know the basics and want to move in to a more dedicated DBA type position.

  4. [...] Bergen called the second edition “the best MySQL book on the planet“. What will the third edition be called? The best in the solar system? This reminds me of a [...]

Leave a Reply