| Bug #51771 | UNINSTALL PLUGIN misleading error message for non-dynamic plugins | ||
|---|---|---|---|
| Submitted: | 5 Mar 2010 16:31 | Modified: | 6 Jun 2014 2:21 |
| Reporter: | Paul DuBois | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Errors | Severity: | S3 (Non-critical) |
| Version: | 5.1+ | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[5 Mar 2010 18:21]
MySQL Verification Team
Thank you for the bug report.
C:\DBS>c:\dbs\5.1\bin\mysql -uroot --port=3306 --prompt="mysql 5.1 >"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.45-Win X64-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql 5.1 >select * from information_schema.plugins where PLUGIN_NAME='innodb'\G
*************************** 1. row ***************************
PLUGIN_NAME: InnoDB
PLUGIN_VERSION: 1.0
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: STORAGE ENGINE
PLUGIN_TYPE_VERSION: 50145.0
PLUGIN_LIBRARY: ha_innodb_plugin.dll
PLUGIN_LIBRARY_VERSION: 1.0
PLUGIN_AUTHOR: Innobase Oy
PLUGIN_DESCRIPTION: Supports transactions, row-level locking, and foreign keys
PLUGIN_LICENSE: GPL
1 row in set (0.03 sec)
mysql 5.1 >uninstall plugin innodb;
Query OK, 0 rows affected (0.45 sec)
mysql 5.1 >exit
Bye
C:\DBS>55
C:\DBS>c:\dbs\5.5\bin\mysql -uroot --port=3540 --prompt="mysql 5.5 >"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.99-m3-Win X64 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql 5.5 >select * from information_schema.plugins where PLUGIN_NAME='innodb'\G
*************************** 1. row ***************************
PLUGIN_NAME: InnoDB
PLUGIN_VERSION: 1.0
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: STORAGE ENGINE
PLUGIN_TYPE_VERSION: 50599.0
PLUGIN_LIBRARY: NULL
PLUGIN_LIBRARY_VERSION: NULL
PLUGIN_AUTHOR: Innobase Oy
PLUGIN_DESCRIPTION: Supports transactions, row-level locking, and foreign keys
PLUGIN_LICENSE: GPL
1 row in set (0.00 sec)
mysql 5.5 >uninstall plugin innodb;
ERROR 1305 (42000): PLUGIN innodb does not exist
mysql 5.5 >
[11 Nov 2013 17:45]
Paul DuBois
Any progress on this?
[6 Jun 2014 2:21]
Paul DuBois
Noted in 5.7.5 changelog. For an existing nondynamic (built-in) plugin, the error message for an attempted UNINSTALL PLUGIN was misleading (the plugin does not exist). Now the message indicates that built-in plugins cannot be uninstalled.

Description: If a plugin is dynamic (loaded from an object file with --plugin-load or INSTALL PLUGIN), it can be uninstalled with UNINSTALL PLUGIN. For example, if you use InnoDB Plugin in MySQL 5.1, it's loaded from the ha_innodb_plugin.so file on Unix and you can uninstall it: mysql> select * from information_schema.plugins where PLUGIN_NAME='innodb'\G *************************** 1. row *************************** PLUGIN_NAME: InnoDB PLUGIN_VERSION: 1.0 PLUGIN_STATUS: ACTIVE PLUGIN_TYPE: STORAGE ENGINE PLUGIN_TYPE_VERSION: 50145.0 PLUGIN_LIBRARY: ha_innodb_plugin.so PLUGIN_LIBRARY_VERSION: 1.0 PLUGIN_AUTHOR: Innobase Oy PLUGIN_DESCRIPTION: Supports transactions, row-level locking, and foreign keys PLUGIN_LICENSE: GPL 1 row in set (0.00 sec) mysql> uninstall plugin innodb; Query OK, 0 rows affected (0.77 sec) In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in (note NULL in the PLUGIN_LIBRARY column): mysql> select * from information_schema.plugins where PLUGIN_NAME='innodb'\G *************************** 1. row *************************** PLUGIN_NAME: InnoDB PLUGIN_VERSION: 1.0 PLUGIN_STATUS: ACTIVE PLUGIN_TYPE: STORAGE ENGINE PLUGIN_TYPE_VERSION: 50503.0 PLUGIN_LIBRARY: NULL PLUGIN_LIBRARY_VERSION: NULL PLUGIN_AUTHOR: Innobase Oy PLUGIN_DESCRIPTION: Supports transactions, row-level locking, and foreign keys PLUGIN_LICENSE: GPL 1 row in set (0.01 sec) In this case, the plugin cannot be uninstalled: mysql> uninstall plugin innodb; ERROR 1305 (42000): PLUGIN innodb does not exist But the error message is misleading. The plugin does exist, it just cannot be installed because it's not dynamically loaded. How to repeat: See above. Suggested fix: For an existing non-dynamic plugin, the error message should specify that the plugin cannot be uninstalled, not that it does not exist.