(mysql.info) libmysqld-overview
Info Catalog
(mysql.info) libmysqld
(mysql.info) libmysqld
(mysql.info) libmysqld-compiling
22.1.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
accesses 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 `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 mysql-server-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.
Info Catalog
(mysql.info) libmysqld
(mysql.info) libmysqld
(mysql.info) libmysqld-compiling
automatically generated byinfo2html