3090
MariaDBERRORNotableAccess ControlHIGH confidence
GRANT user already identified via a plugin
Production Risk
Low — only the GRANT statement fails.
What this means
A GRANT statement attempted to create a user with IDENTIFIED BY, but the user already exists and is authenticated via an authentication plugin.
Why it happens
- 1GRANT … IDENTIFIED BY used on a user already authenticated via a plugin, creating an ambiguous auth configuration.
How to reproduce
trigger — this will error
trigger — this will error
GRANT SELECT ON db.* TO 'plugin_user'@'host' IDENTIFIED BY 'pass';
expected output
ERROR 3090 (HY000): Changing schema while an active plugin already exists is not supported.
Fix
Use ALTER USER to change authentication separately
Use ALTER USER to change authentication separately
ALTER USER 'plugin_user'@'host' IDENTIFIED BY 'pass'; GRANT SELECT ON db.* TO 'plugin_user'@'host';
Why this works
Separates authentication management from privilege granting.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 3090 ER_GRANT_PLUGIN_USER_EXISTS2
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev