•It cannot unload plugins that are built in to the server. These can be identified as those that have a library name of NULL  in the output from INFORMATION_SCHEMA.PLUGINS  or SHOW PLUGINS . 

•It cannot unload plugins for which the server was started with -- plugin_name =FORCE_PLUS_PERMANENT , which prevents plugin unloading at runtime. These can be identified from the LOAD_OPTION  column of the INFORMATION_SCHEMA.PLUGINS  table. 

To uninstall a plugin that currently is loaded at server startup with a plugin-loading option, use this procedure. 

1. Remove from the my.cnf  file any options and system variables related to the plugin. If any plugin system variables were persisted to the mysqld-auto.cnf  file, remove them using RESET PERSIST var_name  for each one to remove it. 

2. Restart the server. 

3. Plugins normally are installed using either a plugin-loading option at startup or with INSTALL PLUGIN at runtime, but not both. However, removing options for a plugin from the my.cnf  file may not be sufficient to uninstall it if at some point INSTALL PLUGIN  has also been used. If the plugin still appears in the output from INFORMATION_SCHEMA.PLUGINS  or SHOW PLUGINS , use UNINSTALL PLUGIN  to remove it from the mysql.plugin  table. Then restart the server again. 

## Plugins and Loadable Functions 

A plugin when installed may also automatically install related loadable functions. If so, the plugin when uninstalled also automatically uninstalls those functions. 

## 5.6.2 Obtaining Server Plugin Information 

There are several ways to determine which plugins are installed in the server: 

•The INFORMATION_SCHEMA.PLUGINS  table contains a row for each loaded plugin. Any that have a PLUGIN_LIBRARY  value of NULL  are built in and cannot be unloaded. 

mysql> SELECT * FROM INFORMATION_SCHEMA.PLUGINS\G *************************** 1. row *************************** PLUGIN_NAME: binlog PLUGIN_VERSION: 1.0 PLUGIN_STATUS: ACTIVE PLUGIN_TYPE: STORAGE ENGINE PLUGIN_TYPE_VERSION: 50158.0 PLUGIN_LIBRARY: NULL PLUGIN_LIBRARY_VERSION: NULL PLUGIN_AUTHOR: Oracle Corporation PLUGIN_DESCRIPTION: This is a pseudo storage engine to represent the binlog in a transaction PLUGIN_LICENSE: GPL LOAD_OPTION: FORCE ... *************************** 10. row *************************** PLUGIN_NAME: InnoDB PLUGIN_VERSION: 1.0 PLUGIN_STATUS: ACTIVE PLUGIN_TYPE: STORAGE ENGINE PLUGIN_TYPE_VERSION: 50158.0 PLUGIN_LIBRARY: ha_innodb_plugin.so PLUGIN_LIBRARY_VERSION: 1.0 PLUGIN_AUTHOR: Oracle Corporation PLUGIN_DESCRIPTION: Supports transactions, row-level locking, and foreign keys PLUGIN_LICENSE: GPL LOAD_OPTION: ON 

