Pre-General Availability Draft: 2017-11-19
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
Section 5.5, “MySQL Server Components”.
INSTALL COMPONENT requires the
INSERT privilege for the
mysql.component system table.
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
variable. Component names do not include any platform-dependent
file name suffix such as
.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
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 initialization fails.
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
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 occurs:
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.