Components must be loaded into the server before they can be used. MySQL supports manual component loading at runtime and automatic loading during server startup.
While a component is loaded, information about it is available as described in Section 7.5.2, “Obtaining Component Information”.
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
registers loaded components in the
mysql.component system table.
The SQL statements for component manipulation affect server
operation and the mysql.component system table
as follows:
INSTALL COMPONENTloads components into the server. The components become active immediately. The loader service also registers loaded components in themysql.componentsystem table. For subsequent server restarts, the loader service loads any components listed inmysql.componentduring the startup sequence. This occurs even if the server is started with the--skip-grant-tablesoption. The optionalSETclause permits setting component system-variable values when you install components.UNINSTALL COMPONENTdeactivates components and unloads them from the server. The loader service also unregisters the components from themysql.componentsystem table so that the server no longer loads them during its startup sequence for subsequent 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.
A component when installed may also automatically install related loadable functions. If so, the component when uninstalled also automatically uninstalls those functions.