<p>MySQL raises error 1619 when you try to uninstall or delete a plugin that is compiled into the server binary.</p>
<p>MySQL Error 1619: ER_PLUGIN_DELETE_BUILTIN occurs when an UNINSTALL PLUGIN command targets a built-in component. Skip the uninstall and, if needed, disable the feature via configuration to resolve the issue.</p>
Built-in plugins cannot be deleted
MySQL raises error 1619 (SQLSTATE HY000) with the message "Built-in plugins cannot be deleted" when an administrator attempts to run UNINSTALL PLUGIN on a component that is statically linked into the server binary. The server blocks the action to protect essential functionality.
Built-in plugins have no corresponding .so or .dll file on disk. Because they were compiled with the server, removing them at runtime would destabilize MySQL. The error was introduced in MySQL 5.7.5 to make that boundary explicit.
The most common trigger is an UNINSTALL PLUGIN statement targeting a built-in authentication or replication module. Another cause is manual deletion of rows from the mysql.plugin table during maintenance scripts. Both actions force the plugin subsystem to validate the target and raise error 1619 if the plugin is compiled in.
Accidental executions often happen when copying shell commands from older documentation written for pluggable versions of the same component. Automated deployment tools that blindly uninstall unused plugins also generate the error.
Stop trying to remove the built-in plugin. Instead, leave it installed or disable its functionality with configuration flags such as skip-plugin-name or by selecting a different default authentication plugin. Restart MySQL after editing the my.cnf file for the change to take effect.
If you modified the mysql.plugin table, restore the original row or run mysql_upgrade to rebuild plugin metadata. Always verify plugin status with SHOW PLUGINS before and after changes.
Scenario: You attempted UNINSTALL PLUGIN auth_socket on Ubuntu packages. Solution: Remove the uninstall step and set default_authentication_plugin=mysql_native_password in my.cnf if you need the old behavior.
Scenario: A cleanup script deletes plugins marked "DEPRECATED". Solution: Add a whitelist of built-in plugins or filter by PLUGIN_LIBRARY column to avoid statically linked components.
Run SHOW PLUGINS and check the PLUGIN_LIBRARY column; NULL means the plugin is built-in and must not be uninstalled. Annotate deployment playbooks with this rule.
Store your operational SQL in Galaxy Collections so teammates reuse vetted maintenance scripts. Galaxy’s endorsement workflow highlights safe commands and prevents editing without review, reducing accidental UNINSTALL PLUGIN executions.
Error 1524 (ER_GRANT_PLUGIN_USER_EXISTS) surfaces when authentication plugin data is inconsistent after a failed uninstall attempt. Re-create the user account with the correct plugin to resolve it.
Error 1123 (ER_UNKNOWN_STORAGE_ENGINE) is similar but occurs when a built-in storage engine is disabled incorrectly. Re-enable the engine in my.cnf and restart the server.
Administrators issue UNINSTALL PLUGIN against authentication_socket or other built-in modules.
Rows for built-in plugins are removed directly in the system table during cleanup.
CI/CD jobs uninstall all plugins not present in a manifest, ignoring built-in status.
Old guides written for pluggable versions instruct users to uninstall now built-in plugins.
Appears when the user account references a missing authentication plugin.
Raised when a required storage engine is disabled or unrecognised.
Occurs if a pluggable component’s shared library is unreadable or corrupted.
No. You can only disable its usage via configuration, not uninstall it.
Run SHOW PLUGINS and check the PLUGIN_LIBRARY column. NULL means built-in.
Minor upgrades keep your settings, but major version changes may reset defaults. Reapply my.cnf tweaks after upgrades.
Galaxy’s endorsement and versioning features ensure maintenance scripts are peer-reviewed, reducing risky UNINSTALL commands.