Common SQL Errors

MySQL Error 3206 ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED - How to Fix and Prevent

Galaxy Team
August 8, 2025

The audit log plugin needs a keyring plugin for encryption, but none is loaded, so MySQL raises error 3206.

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 code 3206 ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED?

ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED happens when MySQL's audit log encryption is turned on but no keyring plugin is active; load and configure a keyring plugin such as keyring_file and restart MySQL to resolve it.

Error Highlights

Typical Error Message

ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED

Error Type

Plugin Error

Language

MySQL

Symbol

ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED was added in 5.7.22.

Error Code

3206

SQL State

HY000

Explanation

Table of Contents

What is MySQL error code 3206 ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED?

The message No keyring plugin installed means MySQL started the audit log plugin with audit_log_encryption=AES but no keyring plugin is active to supply encryption keys. Since MySQL 5.7.22, the audit log refuses to run without a key provider and throws error 3206 at startup or when you load the plugin dynamically.

The failure stops the audit log from recording events, breaking security and compliance audits. Production teams often discover it after an upgrade or configuration change, so fixing it quickly prevents data-governance gaps.

What Causes This Error?

Setting audit_log_encryption to AES without loading a keyring plugin during server startup is the leading cause. If the keyring shared library is missing, mis-named, or lacks read permissions, MySQL silently skips it and later raises error 3206.

The error can also appear in container images where the keyring path is read-only, or when --early-plugin-load omits any keyring plugin while audit logging is encrypted.

How to Fix ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED

Install a supported keyring plugin and make sure it loads before the audit log plugin. The built-in keyring_file plugin is the quickest fix for on-prem setups.

After editing my.cnf, restart MySQL or execute INSTALL PLUGIN keyring_file to activate it, then re-enable the audit log. Verify with SHOW PLUGINS that KEYRING is ACTIVE and AUDIT is ACTIVE.

Common Scenarios and Solutions

Upgrades from 5.7.21 to 5.7.22 often inherit audit_log_encryption=AES yet lack keyring configuration. Adding early-plugin-load=keyring_file.so and setting keyring_file_data resolves the error.

In cloud environments, switch to keyring_aws or keyring_okv to store keys in KMS or Oracle Key Vault instead of local disk.

Best Practices to Avoid This Error

Always pair audit_log_encryption=AES with an early-loaded keyring plugin in configuration management templates. Include startup checks using mysqld --validate-config to catch missing plugins before deployment.

Monitor the MySQL error log for plugin status and alert when AUDIT or KEYRING is DISABLED. Galaxy users can set up health checks that surface these alerts directly in the SQL editor workspace.

Related Errors and Solutions

Error 3180 ER_KEYRING_UDF_KEYRING_SERVICE_ERROR appears when the keyring plugin fails internally; reinstall or correct permissions. Error 3185 ER_KEYRING_ACCESS_DENIED signals that MySQL cannot open the keyring data file; fix ownership and path settings.

Common Causes

Missing keyring plugin during startup

audit_log_encryption is set to AES but no keyring plugin is listed in early-plugin-load or in the plugin directory.

Incorrect plugin path or file permissions

The keyring shared library exists but mysqld cannot read it due to wrong path or OS permissions.

Read-only volume in container setups

keyring_file_data points to a location mounted read-only, preventing the plugin from creating the key file.

Disabled plugin after upgrade

Upgrading to 5.7.22+ deactivates an old keyring plugin that was compiled for a prior version, leaving none active.

Related Errors

ER_KEYRING_UDF_KEYRING_SERVICE_ERROR (3180)

Indicates the keyring plugin failed internally. Fix library path or reinstall plugin.

ER_KEYRING_ACCESS_DENIED (3185)

MySQL cannot open or write the keyring file. Adjust filesystem ownership and SELinux or AppArmor policies.

ER_PLUGIN_IS_NOT_LOADED (1524)

Raised when attempting to uninstall or configure a plugin that never loaded, often preceding error 3206.

FAQs

Do I need a keyring plugin if I disable audit log encryption?

No. If audit_log_encryption=NONE, MySQL will not look for a keyring plugin and error 3206 will not appear.

Which keyring plugin is easiest to deploy on premise?

keyring_file is bundled with MySQL Community and only requires a writable path. It is the fastest way to resolve error 3206 in lab or on-prem servers.

Can I enable the keyring plugin at runtime?

Yes. Run INSTALL PLUGIN keyring_file SONAME 'keyring_file.so', then enable or restart the audit log. A server restart is still recommended for production.

How does Galaxy help?

Galaxy highlights critical MySQL errors in its log panel and can trigger alerts when the audit log plugin is disabled, helping teams address compliance issues quickly.

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