Documentation Home
Extending MySQL 8.0
Download this Manual
PDF (US Ltr) - 420.3Kb
PDF (A4) - 419.7Kb


Extending MySQL 8.0  / The MySQL Plugin API  /  Plugin API Components

4.3 Plugin API Components

The server plugin implementation comprises several components.

SQL statements:

  • INSTALL PLUGIN registers a plugin in themysql.plugin table and loads the plugin code.

  • UNINSTALL PLUGIN unregisters a plugin from themysql.plugin table and unloads the plugin code.

  • TheWITH PARSER clause for full-text index creation associates a full-text parser plugin with a givenFULLTEXT index.

  • SHOW PLUGINS displays information about server plugins.

Command-line options and system variables:

  • The--plugin-load option enables plugins to be loaded at server startup time.

  • Theplugin_dir system variable indicates the location of the directory where all plugins must be installed. The value of this variable can be specified at server startup with a--plugin_dir=dir_name option.mysql_config --plugindir displays the default plugin directory path name.

For additional information about plugin loading, seeInstalling and Uninstalling Plugins.

Plugin-related tables:

  • TheINFORMATION_SCHEMA.PLUGINS table contains plugin information.

  • Themysql.plugin table lists each plugin that was installed withINSTALL PLUGIN and is required for plugin use. For new MySQL installations, this table is created during the installation process.

The client plugin implementation is simpler:

  • For themysql_options() C API function, theMYSQL_DEFAULT_AUTH andMYSQL_PLUGIN_DIR options enable client programs to load authentication plugins.

  • There are C API functions that enable management of client plugins.

To examine how MySQL implements plugins, consult the following source files in a MySQL source distribution:

  • In theinclude/mysql directory,plugin.h exposes the public plugin API. This file should be examined by anyone who wants to write a plugin library.plugin_xxx.h files provide additional information that pertains to specific types of plugins.client_plugin.h contains information specific to client plugins.

  • In thesql directory,sql_plugin.h andsql_plugin.cc comprise the internal plugin implementation.sql_acl.cc is where the server uses authentication plugins. These files need not be consulted by plugin developers. They may be of interest for those who want to know more about how the server handles plugins.

  • In thesql-common directory,client_plugin.h implements the C API client plugin functions, andclient.c implements client authentication support. These files need not be consulted by plugin developers. They may be of interest for those who want to know more about how the server handles plugins.