MySQL error 3203 (ER_KEYRING_MIGRATION_STATUS) indicates that the server is reporting the current progress or result of a keyring data migration operation.
ER_KEYRING_MIGRATION_STATUS appears when MySQL reports the progress of migrating encryption keys between keyring plugins; verify plugin configuration, set the correct destination, then restart or complete the migration to resolve the message.
ER_KEYRING_MIGRATION_STATUS
Error 3203 is raised by the MySQL server when it needs to display the status of an ongoing or completed keyring migration. The placeholder %s is replaced by a textual description such as "started", "in progress", or "finished".
The message is informational, but it can also flag a misconfiguration if migration never completes. Administrators may see it during startup, while executing ALTER INSTANCE ROTATE INNODB MASTER KEY, or when enabling a new keyring plugin.
The server shows ER_KEYRING_MIGRATION_STATUS whenever the keyring_migration* system variables are set and the keyring migration thread runs. MySQL 5.7.21 introduced the message as part of built-in key management.
Frequent causes include switching from the file-based keyring to keyring_okv or keyring_encrypted_file, rotating InnoDB master keys, or moving keys to an external KMS after enabling --early-plugin-load.
Most cases require no action: the message confirms success. If migration stalls, ensure the destination plugin loads correctly, paths are writable, and required environment variables (for OKV, HashiCorp, or AWS plugins) are present.
Set keyring_migration_destination and keyring_migration_user properly, run ALTER INSTANCE RELOAD TLS, then restart mysqld. Always take a full backup of keyring data before rerunning a migration.
During server startup the message may repeat if the destination keyring file path is invalid. Correct the path and restart to clear the status.
When rotating master keys the message may appear with "failed". Check the error log for file permission or plugin-loading errors, fix them, and rerun ALTER INSTANCE ROTATE INNODB MASTER KEY.
Test keyring migrations in a staging environment, keep plugin versions aligned with server version, and set explicit absolute paths for keyring files.
Enable log_error_verbosity=3 so any real failure around keyring plugins is surfaced instantly. Automate validation after restart with SHOW STATUS LIKE 'Keyring_migration_status';
ER_KEYRING_MIGRATION_FAILURE (3204) signals a hard failure, often accompanied by ER_CANNOT_LOAD_FROM_KEYRING. Correct plugin load-order or permissions to resolve.
ER_CANNOT_SET_OPTION (1231) may appear when attempting to change keyring variables dynamically. Use SET PERSIST or my.cnf edits instead.
If the destination keyring plugin does not load before migration, the operation loops and the status message repeats.
An unwritable or nonexistent file path in keyring_migration_destination causes indefinite "in progress" messages.
Plugins like keyring_okv need wallets or certificates; without them the migration thread cannot finish.
Upgrading MySQL without matching plugin binaries may break compatibility and stall migration.
Indicates the migration thread failed rather than reporting status.
Raised when the server cannot retrieve a key from the current keyring.
Appears if an unsupported keyring component is referenced in configuration.
No - it is informational unless the status shows "failed" or repeats endlessly.
You cannot disable it, but once migration finishes the message stops appearing.
Ongoing migration does not decrypt data; tablespace keys remain protected.
Galaxy surfaces server logs in context, letting you spot and fix keyring migration messages directly in the SQL editor workflow.