mysql_server_init()
int mysql_server_init(int argc, char **argv, char **groups)
Descrição
Esta função deve ser chamada uma vez no program usando o servidor embutido antes de se chamar qualquer iutra função do MariaDB. Ela inicia o servidor e inicializa qualquer subsistema (mysys
, InnoDB
, etc.) que o servidor utilize. Se esta função não for chamada, o programa irá falhar. Se você estiver usando o pacote DBUG que vem com o MySQL, você deve chamar esta função depois de ter chamado MY_INIT()
.
Os argumentos argc
e argv
são análogos ao argumentos para o main()
. O primeiro elemento de argv
é ignorado (ele contém normalmente, o nome do programa). por conveniência, argc
pode ser 0
(zero) se não houver argumentos de linha de comando para o servidor. mysql_server_init()
faz uma copia dos argumentos, assim é seguro destruir argv
ou groups
depois da chamada.
A lista de strings terminadas em NULL
em groups
seleciona qual grupo no arquivo de opções será ativado. Leia "Arquivo de Opções my.cnf
". Por conveniência, groups
deve ser NULL
, caso no qual os grupos [server]
d [emedded]
estarão ativos.
Exemplo
#include <mysql.h> #include <stdlib.h> static char *server_args[] = { 'this_program', /* this string is not used */ '--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); /* Use any MariaDB API functions here */ mysql_server_end(); return EXIT_SUCCESS; }
Valor Retornado
0 se okay, 1 se ocorrer um erro.