MySQL & MariaDB Version Differences

Every one of the 45 MySQL and MariaDB version lines ever released, with release/end-of-life dates you can compare below. The table further down goes deeper on the most commonly deployed versions — MySQL 5.7, 8.0, and the 8.4 LTS release, and MariaDB's 10.11 and 11.4 LTS releases — checked against official documentation on 2026-07-31.

Compare any two versions

All 45 released MySQL and MariaDB version lines are listed here — pick any two. Source: endoflife.date (aggregating official MySQL/Oracle and MariaDB Foundation EOL announcements), checked 2026-07-31.

Popular versions, side by side

Unchanged New capability Behavior changed Deprecated Removed
Feature MySQL 5.7MySQL 8.0MySQL 8.4 LTSMariaDB 10.11 LTSMariaDB 11.4 LTS
Security
Default authentication plugin mysql_native_password caching_sha2_password (since 8.0.4) caching_sha2_password; mysql_native_password disabled by default unix_socket / mysql_native_password unix_socket / mysql_native_password
Roles (CREATE ROLE) Not supported Supported Supported Supported (since 10.0.5 — earlier than MySQL) Supported
Query behavior
GROUP BY implicit sort order Often sorted in practice (undocumented, deprecated) Never guaranteed — add explicit ORDER BY Never guaranteed — add explicit ORDER BY Never guaranteed — add explicit ORDER BY Never guaranteed — add explicit ORDER BY
Storage & charset
Default character set latin1 utf8mb4 utf8mb4 utf8mb4 utf8mb4
Performance
Query cache Deprecated (since 5.7.20) Removed entirely — no ON/OFF option exists Removed entirely Still available Still available
Language features
Window functions (OVER()) Not supported Supported Supported Supported (since 10.2) Supported
Common Table Expressions (WITH) Not supported Supported, including RECURSIVE Supported, including RECURSIVE Supported (since 10.2) Supported
JSON column type Native binary JSON type (since 5.7.8) Native binary JSON type, expanded functions Native binary JSON type JSON is an alias for LONGTEXT + a CHECK constraint — not a native type Same as 10.11 — still a LONGTEXT alias
New reserved keywords Baseline keyword set Adds OVER, RECURSIVE, ROW_NUMBER, RANK, LAG, LEAD, GROUPS, WINDOW, and more Same expanded keyword set as 8.0 Different keyword set — check MariaDB's own reserved-words list Same as 10.11
Replication
Replication terminology MASTER / SLAVE (CHANGE MASTER TO, SHOW SLAVE STATUS) SOURCE / REPLICA syntax added (8.0.23+); old terms still accepted SOURCE / REPLICA is standard; old MASTER/SLAVE syntax deprecated MASTER / SLAVE terminology retained MASTER / SLAVE terminology retained
Tooling
Upgrade process Manual mysql_upgrade required after binary swap Automatic upgrade on startup (since 8.0.16) Automatic upgrade on startup mariadb-upgrade required after binary swap mariadb-upgrade required after binary swap

Deep-dive guides

Planning a schema migration instead?

This page compares MySQL/MariaDB versions against each other. If you're moving to PostgreSQL, analyze your actual schema for a prioritized, scored readiness report instead of reading through general version notes.