Skip to main content

Menu

Webinar

Built for the Agentic Era: Introducing MariaDB Enterprise Platform 2027

Register now

White Paper

Bridging the Gap: MySQL to MariaDB Migration Guide

01Introduction

02The Evolution of MariaDB: Compatibility vs. Feature Divergence

Fill in the form to read the rest

03The Strategy for Success: Dedicated Infrastructure

Server VersionEnd of Standard SupportEnd of Life (EOL) DateCompatibility with MySQL 8+
11.8October 22, 2030October 22, 2033Highest compatibility & recommended target. caching_sha2_ password is available. Offers the longest Enterprise support
cycle and best functional alignment to MySQL 8.0.
11.4January 16, 2030January 16, 2033Very high compatibility. The caching_sha2_password is available in
the latest releases, significantly reducing authentication hurdles.
10.6August 23, 2027August 23, 2029High compatibility, but requires checks. caching_sha2_password is available in the latest releases, significantly reducing authentication hurdles.

04Key Technical Deviations

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME,COLUMN_TYPE,EXTRA, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNSWHERE EXTRA LIKE ‘%VIRTUAL%’OR EXTRA LIKE ‘%STORED%’ORDER BY TABLE_SCHEMA, TABLE_NAME,COLUMN_NAME;
Remediation TaskDetails and Required Action
User and PrivilegesThe mysql.user table structure is incompatible and was not restored. You must
manually re-create all necessary users and grants on the new MariaDB server.
Authentication (SHA-2)The required feature is available in the latest releases of MariaDB 10.6 and 11.8.3-1.
MariaDB Granular PrivilegeFunction/Purpose
CONNECTION ADMINAdministers connection resource limits and allows ignoring the max_user_connections variable.
REPLICA MONITORRequired to execute SHOW REPLICA STATUS and SHOW RELAYLOG EVENTS.
SET USEREnables setting the DEFINER when creating routines or triggers.
READ_ONLY ADMINAllows a user to perform write operations even when the database is protected by the read_only system variable.
BINLOG MONITORThe functional equivalent of the older REPLICATION CLIENT privilege (though the old name remains an alias).
SELECT table_schema, table_name, create_options FROM information_schema.TABLES WHERE create_options LIKE “%ENCRYPT%”;.
SELECT table_schema, table_name, create_options FROM information_schema.TABLES WHERE create_options LIKE “%COMP%”;.

05MySQL Galera Cluster Migration (MySQL 8.0 and higher to MariaDB 11.4/11.8.1)

ComponentStatus/ContextRemediation Strategy
mysql.user & Privilege TablesUnderlying system tables are
structured differently and cannot
be migrated directly.
Manual re-creation: Administrators must manually recreate
necessary users and grants on the MariaDB target
server.
Data Backup WorkaroundTo avoid corruption during cluster
migration methods (like node-bynode),
the table must be excluded.
During the backup process (e.g., using mysqldump), the
mysql.user table should be skipped using the --skiptable=
mysql.user option.
General Privilege UpdateEven after a clean install on the
target server, MariaDB requires
post-installation steps to integrate
its unique fields.
Best practice: Run mariadb-upgrade to ensure system
tables (like privilege and event tables) are fully consistent
and utilize all fields unique to the MariaDB version.

06Summary

07About MariaDB