libmysqld is the MySQL embedded server. It is a library that you link into a host program to produce a standalone application that includes a MySQL server. libmysqld does not include support for several features that are part of mysqld. For example, ISAM support is disabled to save space, SSL support is not included because communication with the host program does not use networking, and the server neither connects to nor can be connected to by other programs. The latter restriction rules out using an embedded server for replication.

However, because the embedded server requires no networking capabilities, and because it need not produce any output files at all, one use for libmysqld is to create applications that are suitable for execution directly from read-only media, such as CD-ROM, and by machines that are used in standalone fashion (for example, to run an information kiosk).

libmysqld does not read options from the command line itself, but you can arrange to pass it options and it will interpret them like any other MySQL program. For the most part, libmysqld understands the same options as mysqld; consult the entry for that program for more information. Options related to server functions that libmysqld does not support (for example, replication options) are ignored.

For more information about using the embedded server, see:

  • Chapter 6, "The MySQL C API," describes how to write host programs that include the embedded server.

  • Chapter 11, "General MySQL Administration," discusses administrative concerns common to all servers.

  • Appendix F, "C API Reference" describes the C API functions that are specific to the embedded server.