Server components must be loaded into the server before they can be used. MySQL supports component loading at runtime.
The INSTALL COMPONENT
and
UNINSTALL COMPONENT
SQL statements
enable component loading and unloading. For example:
INSTALL COMPONENT 'file://component_validate_password';
UNINSTALL COMPONENT 'file://component_validate_password';
A loader service handles component loading and unloading, and also
lists loaded components in the component
table
of the mysql
system database that serves as a
registry.
The SQL statements for component manipulation affect server
operation and the mysql.component
system table
as follows:
INSTALL COMPONENT
loads components into the server. The components become active immediately. The loader service also registers loaded components in themysql.component
system table. For subsequent server restarts, the loader service loads any components listed inmysql.component
during the startup sequence. This occurs even if the server is started with the--skip-grant-tables
option.UNINSTALL COMPONENT
deactivates components and unloads them from the server. The loader service also unregisters the components from themysql.component
system table so that they are no longer loaded during the startup sequence for subsequent server restarts.
Compared to the corresponding INSTALL
PLUGIN
statement for server plugins, the
INSTALL COMPONENT
statement for
components offers the significant advantage that it is not
necessary to know any platform-specific file name suffix for
naming the component. This means that a given
INSTALL COMPONENT
statement can be
executed uniformly across platforms.