Spec-Zone .ru
спецификации, руководства, описания, API
|
struct st_mysql_client_plugin *mysql_load_plugin(MYSQL *mysql, const char *name, int type,
int argc, ...)
Loads a MySQL client plugin, specified by name and type. An error occurs if the type is invalid or the plugin cannot be loaded.
It is not possible to load multiple plugins of the same type. An error occurs if you try to load a plugin of a type already loaded.
Specify the parameters as follows:
mysql
: A pointer to a MYSQL
structure. The plugin API does not require a connection to a MySQL
server, but this structure must be properly initialized. The structure is used to obtain
connection-related information.
name
: The name of the plugin to load.
type
: The type of plugin to load, or –1 to disable type
checking. If type is not –1, only plugins matching the type are considered for loading.
argc
: The number of following arguments (0 if there are
none). Interpretation of any following arguments depends on the plugin type.
Another way to cause plugins to be loaded is to set the LIBMYSQL_PLUGINS
environment variable to a semicolon-separated list of plugin names. For example:
shell> export LIBMYSQL_PLUGINS="myplugin1;myplugin2"
Plugins named by LIBMYSQL_PLUGINS
are loaded when the client program calls mysql_library_init()
. No error is reported if problems occur loading these
plugins.
As of MySQL 5.6.10, the LIBMYSQL_PLUGIN_DIR
environment variable can be set to the
path name of the directory in which to look for client plugins. This variable is used in two ways:
During client plugin preloading, the value of the --plugin-dir
option is not available, so client plugin loading fails unless
the plugins are located in the hardwired default directory. If the plugins are located elsewhere, LIBMYSQL_PLUGIN_DIR
environment variable can be set to the proper
directory to enable plugin preloading to succeed.
For explicit client plugin loading, the mysql_load_plugin()
and mysql_load_plugin_v()
C API functions use the LIBMYSQL_PLUGIN_DIR
value if it exists and the --plugin-dir
option was not given. If --plugin-dir
is given, mysql_load_plugin()
and mysql_load_plugin_v()
ignore LIBMYSQL_PLUGIN_DIR
.
A pointer to the plugin if it was loaded successfully. NULL
if an error occurred.
To check for errors, call the mysql_error()
or mysql_errno()
function. See Section
22.8.7.15, "mysql_error()
", and Section
22.8.7.14, "mysql_errno()
".
MYSQL mysql;if(!mysql_load_plugin(&mysql, "myplugin", MYSQL_CLIENT_AUTHENTICATION_PLUGIN, 0)){ fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); exit(-1);}
See also Section
22.8.14.3, "mysql_load_plugin()
", Section
22.8.7.15, "mysql_error()
", Section
22.8.7.14, "mysql_errno()
".