Search the MySQL manual:

9.1.15.1 Overview of the Embedded MySQL Server Library

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:

Function When to call
mysql_server_init() Should be called before any other MySQL function is called, preferably early in the main() function.
mysql_server_end() Should be called before your program exits.
mysql_thread_init() Should be called in each thread you create that will access MySQL.
mysql_thread_end() Should be called before calling pthread_exit()

Then you must link your code with `libmysqld.a' instead of `libmysqlclient.a'.

The above mysql_server_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 9.1.11.1 mysql_server_init().

User Comments

Add your own comment.