8.4. Интерфейс C для MySQL
8.4.9. libmysqld, встраиваемая библиотека сервера MySQL
8.4.9.1. Обзор библиотеки встраиваемого сервера MySQL
Библиотека встраиваемого сервера 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 Раздел 8.4.5.1, «mysql_server_init()».