mysql.h

Función mysql_server_init

int mysql_server_init(int argc, char **argv, char **groups)

Esta función debe ser invocada una vez en el programa que utilice un servidor embebido antes de llamar a cualquier otra función MySQL. Arranca el servidor e inicializa cualquier subsistema (mysys, InnoDB, etc) que use el servidor. Si esta función no es invocada, el programa fallará. Si se está usando el paquete DBUG que viene con MySQL, se debe llama a esta función después de llamar a mysql_init().

Los argumentos argc y argv son análogos a los argumentos de main(). El primer elmento de argv es ignorado (normalmente contiene el nombre del programa). Por conveniencia, argc puede ser 0 (cero) si no hay argumentos en línea de comandos para el servidor. mysql_server_init() hace una copia de los argumentos de modo que es seguro destruir argv o groups después de la llamada.

La lista de cadenas terminadas en NULL en groups selecciona qué grupos en los ficheros de opciones serán activados. Por conveniencia, groups puede ser NULL,en cuyo caso se activarán los grupos [server] y [emedded].

Example

#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 MySQL API functions here */

  mysql_server_end();

  return EXIT_SUCCESS;
}

Valor de retorno

0 si todo fue bien, 1 si se produjo un error.