8.4.5.1 mysql_server_init()
8.4.5.1 mysql_server_init()
int mysql_server_init(int argc, char **argv, char **groups)
8.4.5.2 Описание
8.4.5.2 Описание
Данную функцию необходимо вызывать только один раз во время работы
программы - перед вызовом любой другой функции MySQL. Она запускает сервер
и инициализирует все подсистемы (mysys, InnoDB и т.д.), используемые
сервером. Без вызова этой функции произойдет аварийное завершение данной
программы. При использовании пакета DBUG, поставляемого вместе с MySQL,
данную функцию следует вызывать после функции MY_INIT().
Аргументы argc и argv аналогичны аргументам в main(). Первый элемент аргумента argv игнорируется (обычно он содержит имя программы). Для удобства аргумент argc может быть равен 0 (нуль) - если не задано ни одного аргумента командной строки для данного сервера.
Аргумент groups представляет собой список строк, заканчивающийся NULL. Этот аргумент задает активные группы в файлах опций (see section 4.1.2 Файлы параметров `my.cnf'). Для удобства аргумент groups может быть равен NULL - в этом случае будут активны группы [server] и [emedded].
8.4.5.3 Пример
8.4.5.3 Пример
#include <mysql.h> #include <stdlib.h> static char *server_args[] = { "this_program", /* эта строка не используется */ "--datadir=.", "--set-variable=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; }
8.4.5.4 Возвращаемые значения
8.4.5.4 Возвращаемые значения
0 - если все в порядке, 1 - если произошла ошибка.