This section compares the various methods of installing and uninstalling server plugins.
INSTALL PLUGIN
statement:
Loads the plugin code to activate it.
Registers the plugin in the mysql.plugin
table. Registration causes the server to load the plugin
automatically for subsequent restarts. That is, it effects
an installation that persists until the plugin is
uninstalled explicitly.
Requires the INSERT
privilege
for the mysql.plugin
table.
--plugin-load
option:
Loads the plugin code to activate it.
Does not register the plugin in
mysql.plugin
. For subsequent restarts,
the server loads the plugin again only if
--plugin-load
is given again.
That is, this option effects a one-time installation that
persists only for one server invocation.
UNINSTALL PLUGIN
statement:
Unloads the plugin code to deactivate it.
Unregisters the plugin from mysql.plugin
.
The server will not load it automatically for subsequent
restarts.
Requires the DELETE
privilege
for the mysql.plugin
table.
While a plugin is loaded, information about it is available at runtime from these sources:
The INFORMATION_SCHEMA.PLUGINS
table
The SHOW PLUGINS
statement
The mysql.plugin
table (if the plugin was
installed with INSTALL
PLUGIN
)
If --plugin-load
is given at
startup for a plugin already installed with
INSTALL PLUGIN
during a previous
server invocation, the server starts but writes these messages
to the error log:
100310 19:15:44 [ERROR] Function 'plugin_name
' already exists 100310 19:15:44 [Warning] Couldn't load plugin named 'plugin_name
' with soname 'plugin_object_file
'.
UNINSTALL PLUGIN
can unload
plugins regardless of whether they were loaded with
INSTALL PLUGIN
or
--plugin-load
. In the latter
case, UNINSTALL PLUGIN
does not
unregister the plugin from mysql.plugin
because --plugin-load
did not
register it.
UNINSTALL PLUGIN
cannot unload
plugins that are compiled into the server. (These can be
identified as those that have a library name of
NULL
in the output from
INFORMATION_SCHEMA.PLUGINS
or
SHOW PLUGINS
.)
If the server is started with the
--skip-grant-tables
option, it
does not consult the mysql.plugins
table and
thus does not load plugins installed with the
INSTALL PLUGIN
statement.
--plugin-load
enables plugins to
be loaded even when
--skip-grant-tables
is given.
--plugin-load
also enables
plugins to be loaded at startup under configurations when
plugins cannot be loaded at runtime.
User Comments
Add your own comment.