8.4. Интерфейс C для MySQL
8.4.5. Описания функций C, доступных во встраиваемом сервере
8.4.5.1. mysql_server_init()
int mysql_server_init(int argc, char **argv, char **groups)
Описание
Данную функцию необходимо вызывать только один раз во время работы программы, использующей встроенный сервер. Это функцию следует вызвать перед вызовом любой другой функции MySQL. Она запускает сервер и инициализирует все подсистемы (mysys , InnoDB и т.д.), используемые сервером. Без вызова этой функции произойдет аварийное завершение данной программы. При использовании пакета DBUG , поставляемого вместе с MySQL, данную функцию следует вызывать после функции MY_INIT() .
Аргументы argc и argv аналогичны аргументам в main (). Первый элемент аргумента argv игнорируется (обычно он содержит имя программы). Для удобства аргумент argc может быть равен 0 (нуль) - если не задано ни одного аргумента командной строки для данного сервера. mysql_server_init() делает копию аргументов, т.е. она безопастна для уничтожения argv или groups после вызова.
Аргумент groups представляет собой список строк, заканчивающийся NULL . Этот аргумент задает активные группы в файлах опций (see Раздел 4.1.2, «Файлы параметров my.cnf »). Для удобства аргумент groups может быть равен NULL - в этом случае будут активны группы [server] и [emedded] .
Пример
#include <mysql.h>
#include <stdlib.h>
static char *server_args[] = {
"this_program", /* эта строка не используется */
"--datadir=.",
"--key_buffer_size=32M"
};
static char *server_groups[] = {
"embedded",
"server",
"this_program_SERVER",
(char *)NULL
};
int main(void) {
mysql_server_init(sizeof(server_args) / sizeof(char *),
server_args, server_groups);
/* Здесь используются любые функции MySQL API */
mysql_server_end();
return EXIT_SUCCESS;
}
Возвращаемые значения
0 - если все в порядке, 1 - если произошла ошибка.
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|