#### 13.7.4.3 INSTALL COMPONENT Statement

[]()[]()[]()

```
INSTALL COMPONENT component_name [, component_name ] ...
```

 This statement installs one or more components, which become active immediately. A component provides services that are available to the server and other components; see [Section 5.5, “MySQL Components”](components.html). [`INSTALL COMPONENT`](install-component.html) requires the [`INSERT`](privileges-provided.html#priv_insert) privilege for the `mysql.component` system table because it adds a row to that table to register the component.

 Example:

```
INSTALL COMPONENT 'file://component1', 'file://component2';
```

 A component is named using a URN that begins with `file://` and indicates the base name of the library file that implements the component, located in the directory named by the [`plugin_dir`](server-system-variables.html#sysvar_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 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 in `mysql.component` are loaded by the loader service during the startup sequence. This occurs even if the server is started with the [`--skip-grant-tables`](server-options.html#option_mysqld_skip-grant-tables) option.

 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.

Note

 For keyring components, do not use [`INSTALL COMPONENT`](install-component.html). Instead, configure keyring component loading using a manifest file. See [Section 6.4.4.2, “Keyring Component Installation”](keyring-component-installation.html).

