I have worked since May 2006 as a principal technical support engineer in the Bugs
Verification Group of the MySQL Support Group for MySQL AB, then Sun, and finally
Oracle. During my daily job, I often see users who are stuck with a problem and have
no idea what to do next. Well-verified methods exist to find the cause of the problem
and fix it effectively, but they are hard to cull from the numerous information sources.
Hundreds of great books, blog posts, and web pages describe different parts of the
MySQL server in detail. But here’s where I see the difficulty: this information is organized
in such a way as to explain how the MySQL server normally works, leaving out
methods that can identify failures and ill-posed behavior.
When combined, these information sources explain each and every aspect of MySQL
operation. But if you don’t know why your problem is occurring, you’ll probably miss
the cause among dozens of possibilities suggested by the documentation. Even if you
ask an expert what could be causing your problem, she can enumerate many suspects,
but you still need to find the right one. Otherwise, any changes you make could just
mask the real problem temporarily, or even make it worse.
It is very important to know the source of a problem, even when a change to an SQL
statement or configuration option can make it go away. Knowledge of the cause or
failure will arm you to overcome it permanently and prevent it from popping up again
in the future.
I wrote this book to give you the methods I use constantly to identify what caused an
error in an SQL application or a MySQL configuration and how to fix it.