<p>MySQL throws this error when you try to uninstall a plugin that was compiled or configured as non-dynamic, meaning the server must be stopped before removal.</p>
<p>MySQL Error 1720: ER_PLUGIN_NO_UNINSTALL occurs when you attempt to uninstall a plugin flagged as not dynamically removable. Stop the MySQL service, delete the plugin entry from the mysql.plugin table or my.cnf, and restart the server to resolve the issue.</p>
Plugin '%s' is marked as not dynamically uninstallable.
MySQL returns error 1720 when an UNINSTALL PLUGIN command targets a component that is flagged as not dynamically uninstallable. The server protects critical or statically linked plugins from being removed while it is running.
The error is triggered immediately after issuing UNINSTALL PLUGIN or during startup if mysqld finds an undeletable plugin mismatch between the mysql.plugin table and configuration directives.
Lingering undeletable plugin entries can block upgrades, delay restarts, and cause inconsistent behavior. Cleaning them prevents downtime and ensures smooth maintenance.
Plugins compiled with the no_dynamic_uninstall flag or built directly into the server binary cannot be removed at runtime, producing ER_PLUGIN_NO_UNINSTALL when an uninstall is attempted.
Schedule maintenance, stop MySQL, delete the plugin record from mysql.plugin or comment plugin_load lines in my.cnf, then restart. Recompile the plugin with dynamic support if runtime uninstall is required.
Administrators often hit error 1720 while replacing an outdated authentication or audit plugin. The safest path is to shut down the server, clean the metadata, and verify that SHOW PLUGINS lists the expected components.
Install only plugins verified for dynamic uninstall, test on staging servers first, document plugin_load directives, and keep rollback scripts ready to revert any plugin changes quickly.
Plugins compiled directly into mysqld are loaded as part of the binary and cannot be removed without stopping the server.
Third-party plugins built with the no_dynamic_uninstall flag deliberately block runtime removal, triggering error 1720.
A plugin_load or plugin_dir entry in my.cnf forces MySQL to load the plugin, preventing a dynamic uninstall until the directive is removed.
Raised when attempting to remove a permanently built-in plugin.
Indicates MySQL cannot load the shared object during plugin installation.
Appears when a plugin initialization routine fails during INSTALL PLUGIN.
No. Error 1720 indicates the plugin is locked for runtime removal. You must stop the server first.
Run SHOW PLUGINS and check the Type column. STATIC plugins cannot be uninstalled while MySQL is running.
Removing only the shared object leaves metadata intact and can prevent startup. Clean mysql.plugin and my.cnf entries instead.
Galaxy highlights plugin status in its schema browser and warns users before risky UNINSTALL PLUGIN commands, helping avoid downtime.