INSTALL PLUGINplugin_name
SONAME 'plugin_library
'
This statement installs a plugin.
plugin_name
is the name of the plugin
as defined in the plugin declaration structure contained in the
library file. Plugin names are not case sensitive. For maximal
compatibility, plugin names should be limited to ASCII letters,
digits, and underscore, because they are used in C source files,
shell command lines, M4 and Bourne shell scripts, and SQL
environments.
plugin_library
is the name of the
shared library that contains the plugin code. The name includes
the file name extension (for example,
libmyplugin.so
or
libmyplugin.dylib
).
The shared library must be located in the plugin directory (that
is, the directory named by the
plugin_dir
system variable).
The library must be in the plugin directory itself, not in a
subdirectory. By default,
plugin_dir
is
plugin
directory under the directory named
by the pkglibdir
configuration variable, but
it can be changed by setting the value of
plugin_dir
at server startup.
For example, set its value in a my.cnf
file:
[mysqld]
plugin_dir=/path/to/plugin/directory
If the value of plugin_dir
is a
relative path name, it is taken to be relative to the MySQL base
directory (the value of the
basedir
system variable).
INSTALL PLUGIN
adds a line to the
mysql.plugin
table that describes the
plugin
. This table contains the plugin name
and library file name.
As of MySQL 5.1.33, INSTALL
PLUGIN
causes the server to read option
(my.cnf
) files just as during server
startup. This enables the plugin to pick up any relevant options
from those files. It is possible to add plugin options to an
option file even before loading a plugin (if the
loose
prefix is used). It is also possible to
uninstall a plugin, edit my.cnf
, and
install the plugin again. Restarting the plugin this way enables
it to the new option values without a server restart.
Before MySQL 5.1.33, a plugin is started with each option set to its default value.
INSTALL PLUGIN
also loads and
initializes the plugin code to make the plugin available for
use. A plugin is initialized by executing its initialization
function, which handles any setup that the plugin must perform
before it can be used.
To use INSTALL PLUGIN
, you must
have the INSERT privilege
for the
mysql.plugin
table.
At server startup, the server loads and initializes any plugin
that is listed in the mysql.plugin
table.
This means that a plugin is installed with
INSTALL PLUGIN
only once, not
every time the server starts. Plugin loading at startup does not
occur if the server is started with the
--skip-grant-tables
option.
When the server shuts down, it executes the deinitialization function for each plugin that is loaded so that the plugin has a change to perform any final cleanup.
For options that control individual plugin loading at server
startup, see Section 5.1.3, “Server Options for Loading Plugins”. If you
need to load plugins for a single server startup when the
--skip-grant-tables
option is
given (which tells the server not to read system tables), use
the --plugin-load
option. See
Section 5.1.2, “Server Command Options”.
To remove a plugin entirely, use the
UNINSTALL PLUGIN
statement:
To see what plugins are installed, use the SHOW
PLUGIN
statement.
If you recompile a plugin library and need to reinstall it, you can use either of the following procedures:
Use UNINSTALL PLUGIN
to
uninstall all plugins in the library, install the new plugin
library file in the plugin directory, and then use
INSTALL PLUGIN
to install all
plugins in the library. This procedure has the advantage
that it can be used without stopping the server. However, if
the plugin library contains many plugins, you must issue
many INSTALL PLUGIN
and
UNINSTALL PLUGIN
statements.
Alternatively, stop the server, install the new plugin library file in the plugin directory, and then restart the server.
User Comments
Add your own comment.