MySQL Troubleshooting (2012)

Appendix A. Information Resources

Throughout this book, I have pointed to good sources of information that can help during troubleshooting. Here is short list of them, grouped by usage type. As always, I prefer those I personally use daily.

Resources Containing Information That Is Usually Useful

The official MySQL Reference Manual

This is the first place to go for information because it documents how one or another feature is supposed to work.

Search engines

If you can’t find enough detail in the MySQL Reference Manual, try your favorite search engine. In most cases, you can copy and paste an error message and get lots of information about the problem. The planet Earth is really small, and it is hard to catch a truly unique problem.

Bug and Knowledge Databases

The Community Bug Database

If you don’t understand MySQL’s behavior and believe it is behaving incorrectly, search the bug database. You will probably find a report with the very same problem. If you use an old version of MySQL, you can even find out whether the problem is fixed.

Oracle Customers’ Bug Database

Oracle tracks bugs reported internally or by customers using its internal bug database. If you are an Oracle customer, you can access it and find bugs that were not reported by the community. This database mostly contains real bugs, and you rarely meet reports closed as “Not a Bug” there, because they go though a careful check before they are included.

Oracle’s Knowledge Management database

Oracle makes a regularly updated knowledge database accessible to its customers. It contains product and problem descriptions in more detail than the MySQL Reference Manual. Many articles are created from customers’ use cases, so you may well find the exact problem you have. Some of the articles are published there on the same day that a feature is released, so this is a really good source for actual information.

Expert Knowledge Online

If you are searching for a detailed article about one or another feature, try the following resources:

MySQL Forge

This has information about MySQL internals, plug-in development, public worklogs, and community projects. You can find wikis describing the internals of many features, MySQL internals documentation, community add-ons, and public worklogs (plans for MySQL development in future versions).

MySQL Planet

This is an aggregator of English-language blogs about MySQL. All blogs belonging to active community members are combined there. You can find posts that describe one or another feature in detail and posts that go deep into internals. This is a great source for finding information about MySQL in a single place. There are also language-specific MySQL Planets; check whether one exists for your native language.

I want to highlight two of the blogs you can find on this site:

MySQL Performance Blog

This blog is written by Percona engineers and contains a great amount of information about performance tuning. This is the first source you should check if you run into a performance problem.

InnoDB Team Blog

As can be guessed from the name, this is a blog written by members of the InnoDB team. There you can find details about InnoDB development, usage tips for new features, and internals. This is really great resource for those who use the InnoDB storage engine.

Places Where You Can Ask for Help

Forums, communities, and user groups

I don’t supply links to particular forums, because there are so many. You can start from the MySQL forum or use your favorite local forum like I do. Just find out whether you have a good one in your country.

IRC, particularly #mysql at Freenode (irc://irc.freenode.net/mysql)

Many MySQL experts are here; just log in and ask your question. There are also specific channels, such as #mysql-dev (irc://irc.freenode.net/mysql-dev), where you can ask questions related to plug-in development or extending MySQL, or #mysql-ndb (irc://irc.freenode.net/mysql-ndb), where NDB experts sit. For troubleshooting issues, the most appropriate channel is #mysql (irc://irc.freenode.net/mysql).

Books

There are also valuable books written about MySQL. I would start with O’Reilly books because O’Reilly always works with experts. Among the authors from this list, you can find authors of MySQL source code and top MySQL experts.

I also recommend Expert MySQL by Dr. Charles A. Bell (Apress), which provides information about how to debug and modify MySQL code. I touched on these topics in When the Server Does Not Answer and Core file, but consult Dr. Bell’s book if you want more details.