25.1. libmysqld, the Embedded MySQL Server Library
The embedded MySQL server library is NOT
part of MySQL 5.0. It is part of previous editions and will be
included in future versions, starting with MySQL 5.1. You can find
appropriate documentation in the corresponding manuals for these
versions. In this manual, only an overview of the embedded library
is provided.
The embedded MySQL server library makes it possible to run a
full-featured MySQL server inside a client application. The main
benefits are increased speed and more simple management for
embedded applications.
The embedded server library is based on the client/server version
of MySQL, which is written in C/C++. Consequently, the embedded
server also is written in C/C++. There is no embedded server
available in other languages.
The API is identical for the embedded MySQL version and the
client/server version. To change an old threaded application to
use the embedded library, you normally only have to add calls to
the following functions:
Then you must link your code with libmysqld.a
instead of libmysqlclient.a. To ensure binary
compatibility between your application and the server library, be
sure to compile your application against headers for the same
series of MySQL that was used to compile the server library. For
example, if libmysqld was compiled against
MySQL 4.1 headers, do not compile your application against MySQL
5.1 headers, or vice versa.
The
mysql_library_xxx()
functions are also included in
libmysqlclient.a to allow you to change
between the embedded and the client/server version by just linking
your application with the right library. See
Section 25.2.3.40, âmysql_library_init()â.
One difference between the embedded server and the standalone
server is that for the embedded server, authentication for
connections is disabled by default. To use authentication for the
embedded server, specify the
--with-embedded-privilege-control option when you
invoke configure to configure your MySQL
distribution.
User Comments
Add your own comment.