Component, Plugin, and Loadable Function Statements 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  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. When the server shuts down, it executes the deinitialization function for each plugin that is loaded so that the plugin has a chance to perform any final cleanup. INSTALL PLUGIN  also registers the plugin by adding a line that indicates the plugin name and library file name to the  mysql.plugin  system table. During the normal startup sequence, the server loads and initializes plugins registered in  mysql.plugin . This means that a plugin is installed with  INSTALL PLUGIN  only once, not every time the server starts. If the server is started with the  --skip-grant- tables  option, plugins registered in the  mysql.plugin  table are not loaded and are unavailable. A plugin library can contain multiple plugins. For each of them to be installed, use a separate  INSTALL PLUGIN  statement. Each statement names a different plugin, but all of them specify the same library name. 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. For options that control individual plugin loading at server startup, see Section 5.6.1, “Installing and Uninstalling 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.7, “Server Command Options” . To remove a plugin, use the  UNINSTALL PLUGIN  statement. For additional information about plugin loading, see Section 5.6.1, “Installing and Uninstalling Plugins” . To see what plugins are installed, use the  SHOW PLUGINS  statement or query the  INFORMATION_SCHEMA the  PLUGINS  table. If you recompile a plugin library and need to reinstall it, you can use either of the following methods: UNINSTALL COMPONENT  component_name  [,  component_name  ] ... This statement deactivates and uninstalls one or more components. A component provides services that are available to the server and other components; see Section 5.5, “MySQL Components” .  UNINSTALL COMPONENT  is the complement of  INSTALL COMPONENT . It requires the  DELETE  privilege for the mysql.component  system table because it removes the row from that table that registers the component. Example: UNINSTALL COMPONENT ’file://component1’, ’file://component2’; For information about component naming, see Section 13.7.4.3, “INSTALL COMPONENT Statement” . 2903 •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. •Stop the server, install the new plugin library file in the plugin directory, and restart the server. 13.7.4.5 UNINSTALL COMPONENT Statement