Syntax:
INSTALL PLUGIN plugin_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 http://dev.mysql.com/doc/refman/5.1/en/server-plugin-options.html.
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
http://dev.mysql.com/doc/refman/5.1/en/server-options.html.

URL: http://dev.mysql.com/doc/refman/5.1/en/install-plugin.html

