Documentation Home
MySQL Internals Manual

MySQL Internals Manual  /  ...  /  The libmysql Directory

A.1.11 The libmysql Directory

The MySQL Library, Part 1.

The files here are for producing MySQL as a library (for example, a Windows DLL). The idea is that, instead of producing separate mysql (client) and mysqld (server) programs, one produces a library. Instead of sending messages, the client part merely calls the server part.

The libmysql files are split into three directories: libmysql (this one), libmysql_r (the next one), and libmysqld (the next one after that).

The "library of mysql" has some client-connection modules. For example, as described in an earlier section of this manual, there is a discussion of libmysql/libmysql.c which sends packets from the client to the server. Many of the entries in the libmysql directory (and in the following libmysqld directory) are 'symlinks' on Linux, that is, they are in fact pointers to files in other directories.

The program files on this directory are:

  • conf_to_src.c --- has to do with charsets

  • dll.c --- initialization of the dll library

  • errmsg.c --- English error messages, compare \mysys\errors.c

  • get_password.c --- get password

  • libmysql.c --- the code that implements the MySQL API, that is, the functions a client that wants to connect to MySQL will call

  • manager.c --- initialize/connect/fetch with MySQL manager