Common SQL Errors

MySQL Error 1721: ER_PLUGIN_NO_INSTALL - How to Fix and Prevent

Galaxy Team
August 7, 2025

<p>MySQL raises Error 1721 (ER_PLUGIN_NO_INSTALL) when you attempt to load a plugin that the server marks as not dynamically installable; the server must be shut down and restarted with the plugin statically configured.</p>

Sign up for the latest in common SQL errors from the Galaxy Team!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

What is MySQL error 1721 (ER_PLUGIN_NO_INSTALL)?

<p>MySQL Error 1721 ER_PLUGIN_NO_INSTALL appears when you run INSTALL PLUGIN for a component flagged as non-dynamic. Stop the MySQL server, add the plugin to the my.cnf plugin-load list, then restart the service to resolve the issue.</p>

Error Highlights

Typical Error Message

Plugin '%s' is marked as not dynamically installable. You

Error Type

Plugin Installation Error

Language

MySQL

Symbol

ER_PLUGIN_NO_INSTALL

Error Code

1721

SQL State

HY000

Explanation

Table of Contents

What is MySQL Error 1721 ER_PLUGIN_NO_INSTALL?

Error 1721 fires with SQLSTATE HY000 and message “Plugin '%s' is marked as not dynamically installable. You have to stop the server to install it.” It occurs when INSTALL PLUGIN or INSTALL COMPONENT tries to load a module whose source code or manifest declares itself static only.

MySQL blocks runtime installation for safety because the plugin may alter core subsystems that require initialization at startup. Understanding this safeguard helps you pick the right installation method and maintain server stability.

When does MySQL raise Error 1721?

The server checks the plugin header during INSTALL PLUGIN. If the plugin_info struct contains the flag PLUGIN_OPT_NO_INSTALL, MySQL immediately aborts and returns 1721. The same happens for components compiled without COMPONENT_INSTALL_IF_DYNAMIC.

You will mostly see the error after upgrading to a version where the plugin policy changed, migrating third-party binaries, or enabling enterprise extensions on community builds.

Why is fixing Error 1721 important?

Leaving required plugins unloaded prevents features like authentication, audit or storage engines from working. Repeated failed INSTALL attempts clutter logs and can trigger monitoring alerts. Resolving the error quickly restores desired functionality and keeps automated deployments green.

What Causes This Error?

The primary cause is attempting dynamic installation of a plugin compiled as static-only. Secondary causes include mismatched MySQL versions, missing OS libraries forcing the plugin loader to misclassify the module, or insufficient privileges that mislead admins into repeated INSTALL attempts.

How to Fix MySQL Error 1721 ER_PLUGIN_NO_INSTALL

Stop the MySQL service, edit my.cnf (or my.ini) to include the plugin in plugin-load-add, then restart the server. The plugin will initialize during startup, bypassing the dynamic restriction.

Common Scenarios and Solutions

On Linux systemd servers, use systemctl stop mysqld, modify /etc/my.cnf, and systemctl start mysqld. In Docker, rebuild the image with the plugin copied to /usr/lib/mysql/plugin and add the --plugin-load parameter in the container command.

Best Practices to Avoid This Error

Always read plugin documentation for installation flags, bundle static-only plugins in base images, automate configuration management, and test plugin loads in staging.

Galaxy Integration Tip

Using Galaxy’s connection templates, you can preload required plugin parameters in the editor’s connection string, ensuring teammates never attempt runtime INSTALL PLUGIN commands that would trigger Error 1721.

Common Causes

Static-only plugin binary

The plugin developer compiled the module with PLUGIN_OPT_NO_INSTALL, blocking dynamic loading.

Version mismatch

The plugin was built for an earlier or later MySQL version, and the server refuses to install it dynamically.

Missing dependencies

Required shared libraries are absent, leading the loader to mark the plugin non-dynamic.

Insufficient privileges

Running INSTALL PLUGIN without SUPER or SYSTEM_VARIABLES_ADMIN may surface the error indirectly.

Related Errors

Error 1126: HY000 - Can't open shared library

Occurs when MySQL cannot find or load a plugin's .so file. Unlike 1721, the plugin is dynamic but missing.

Error 1153: ER_NET_PACKET_TOO_LARGE

Indicates packet size limits, unrelated to plugins but often seen during misconfigured installations.

Error 1524: ER_PASSWORD_NO_MATCH

Appears when authentication plugins fail to load, sometimes a downstream effect of 1721.

FAQs

Can I force MySQL to load a static-only plugin without restart?

No. The static flag is hard-coded. You must restart the server after adding the plugin to my.cnf.

Does Error 1721 indicate corruption?

Usually not. It simply means the plugin was compiled for startup loading only.

Will upgrading MySQL remove the error?

Only if the plugin provider also ships a dynamically loadable version for the new release. Otherwise the restriction remains.

How does Galaxy help?

Galaxy surfaces server errors instantly in its results pane and lets teams share fixed connection configs, reducing repeated 1721 incidents.

Start Querying with the Modern SQL Editor Today!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

Check out some other errors

Trusted by top engineers on high-velocity teams
Aryeo Logo
Assort Health
Curri
Rubie Logo
Bauhealth Logo
Truvideo Logo