Библиотека встраиваемого сервера MySQL обеспечивает возможность запуска полнофункционального сервера MySQL внутри клиентского приложения. Основные преимущества, которые дает ее использование, - увеличение скорости и более простое управление для встраиваемых приложений.
Интерфейсы API для встраиваемой версии MySQL и для версии клиент/сервер идентичны. Чтобы реализовать возможность использования встраиваемого сервера в старом приложении с потоками, обычно необходимо только добавить вызовы следующих функций:
Функция | Когда вызывается |
mysql_server_init() | Должна вызываться перед любой другой функцией MySQL, предпочтительно раньше, чем функция main(). |
mysql_server_end() | Должна вызываться перед выходом из данной программы. |
mysql_thread_init() | Должна вызываться в каждом создаваемом потоке, который будет работать с MySQL. |
mysql_thread_end() | Должна вызываться перед вызовом pthread_exit() |
После добавления функций необходимо связать данный код с библиотекой `libmysqld.a' вместо `libmysqlclient.a'.
Вышеприведенные функции типа mysql_server_xxx также включены в `libmysqlclient.a' - таким образом обеспечивается возможность переключаться между встраиваемой и клиент-серверной версиями просто линкованием конкретного приложения с соответствующей библиотекой. См.раздел See section 8.4.5.1 mysql_server_init().
8.4.9 libmysqld, встраиваемая библиотека сервера MySQL | Оглавление | 8.4.9.2 Компиляция программ с libmysqld |