INSTALL COMPONENT component_name [, component_name ] ...
This statement installs one or more server components, which become
active immediately. A component provides services that are available to
the server and other components; see
COMPONENT requires the INSERT privilege for the mysql.component system
table because it adds a row to that table to register the component.
INSTALL COMPONENT 'file://component1', 'file://component2';
Component names are URNs that begin with file:// and indicate the base
name of the file that implements the component, located in the
directory named by the plugin_dir system variable. Component names do
not include any platform-dependent file name suffix such as .so or
.dll. (These naming details are subject to change because component
name interpretation is itself performed by a service and the component
infrastructure makes it possible to replace the default service
implementation with alternative implementations.)
If any error occurs, the statement fails and has no effect. For
example, this happens if a component name is erroneous, a named
component does not exist or is already installed, or component
A loader service handles component loading, which includes adding
installed components to the mysql.component system table that serves as
a registry. For subsequent server restarts, any components listed in
mysql.component are loaded by the loader service during the startup
sequence. This occurs even if the server is started with the
If a component depends on services not present in the registry and you
attempt to install the component without also installing the component
or components that provide the services on which it depends, an error
ERROR 3527 (HY000): Cannot satisfy dependency for service 'component_a'
required by component 'component_b'.
To avoid this problem, either install all components in the same
statement, or install the dependent component after installing any
components on which it depends.