The MySQL C API is a C-based API that client applications written in C can use to communicate with MySQL Server. Client programs refer to C API header files at compile time and link to a C API library file at link time. The library comes in two versions, depending on how the application is intended to communicate with the server:
libmysqlclient: The client version of the
library, used for applications that communicate over a network
connection as a client of a standalone server process.
libmysqld: The embedded server version of
the library, used for applications intended to include an
embedded MySQL server within the application itself. The
application communicates with its own private server instance.
Both libraries have the same interface. In terms of C API calls,
an application communicates with a standalone server the same way
it communicates with an embedded server. A given client can be
built to communicate with a standalone or embedded server,
depending on whether it is linked against
at build time.
There are two ways to obtain the C API header and library files required to build C API client programs:
Install a MySQL Server distribution. Server distributions
Install a MySQL Connector/C distribution. Connector/C distributions include
libmysqlclient. They do not include
For both MySQL Server and MySQL Connector/C, you can install a binary distribution that contains the C API files pre-built, or you can use a source distribution and build the C API files yourself.
Normally, you install either a MySQL Server distribution or a MySQL Connector/C distribution, but not both. It is possible that installing both can cause problems.