Table 2-3 lists the top-level subdirectories in the MySQL source tree, with a brief explanation of each. Note that some reorganization is possible in the future versions, but most of the structure should be fairly stable.
Table 2-3. Top-level directories in MySQL source tree
Developer build scripts.
Mostly scripts for building binary distributions.
Used by the distribution build scripts to hold new RPMs.
Some configuration files from early SSL development.
Used for building MySQL binaries on Windows.
Berkeley DB storage engine code. Berkeley DB supports transactions and page locks. However, the interface between Berkeley DB and core MySQL is not very well developed, and InnoDB storage engine is a better choice when transactions are needed. Removed in version 5.1.
Command-line client utilities code.
External libraries to enhance the command-line client (libedit and readline).
Debugging library. I personally do not like using
it because it alters execution and obscures the timesensitive
bugs, but some developers, including Monty, love it for its
ability to print out the execution trace. To enable it, add
Code for miscellaneous tools.
Code for the in-memory tables. Moved to the storage/ directory in 5.1.
ISAM storage engine code (deprecated by MYISAM, removed in 5.0).