int mysql_server_init(int argc, char **argv, char
**groups)
Beschreibung
Diese Funktion muss in einem
Programm, das den Embedded Server benutzt, einmalig vor jeder
anderen MySQL-Funktion aufgerufen werden. Sie startet den
Server und initialisiert eventuelle Subsysteme
(mysys
, InnoDB
und so
weiter), die der Server benötigt. Wird diese Funktion nicht
aufgerufen, führt der nächste
mysql_init()
-Aufruf
mysql_server_init()
aus. Wenn Sie das mit
MySQL gelieferte DBUG-Paket benutzen, sollten Sie die Funktion
nach my_init()
aufrufen.
Die Argumente argc
und
argv
entsprechen den Argumenten von
main()
. Das erste Element von
argv
wird ignoriert (es enthält
typischerweise den Namen des Programms). Der Bequemlichkeit
halber kann argc
den Wert
0
(null) haben, wenn keine
Kommandozeilenargumente für den Server vorhanden sind. Da
mysql_server_init()
die Argumente kopiert,
kann argv
oder groups
nach dem Aufruf getrost zerstört werden.
Wenn Sie sich mit einem externen Server verbinden möchten,
ohne den Embedded Server zu starten, müssen Sie einen
negativen Wert für argc
angeben.
Die mit NULL
endende Liste der Strings in
groups
wählt die Gruppen aus den
Optionsdateien aus, die aktiv sein sollen. Siehe
Abschnitt 4.3.2, „my.cnf-Optionsdateien“. Der Bequemlichkeit halber kann
groups
den Wert NULL
haben. In diesem Fall sind die Gruppen
[server]
und [embedded]
aktiv.
Beispiel
#include <mysql.h> #include <stdlib.h> static char *server_args[] = { "this_program", /* Dieser String wird nicht benutzt */ "--datadir=.", "--key_buffer_size=32M" }; static char *server_groups[] = { "embedded", "server", "this_program_SERVER", (char *)NULL }; int main(void) { if (mysql_server_init(sizeof(server_args) / sizeof(char *), server_args, server_groups)) exit(1); /* Hier werden MySQL-API-Funktionen benutzt */ mysql_server_end(); return EXIT_SUCCESS; }
Rückgabewerte
0, wenn alles okay ist, 1, wenn ein Fehler auftrat.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.