MySQL 5.7 vs MySQL 8.0
MySQL 8.0 was released 2.5 years after MySQL 5.7. Source: endoflife.date (aggregating official MySQL/Oracle and MariaDB Foundation EOL announcements), checked 2026-07-31.
| Fact | MySQL 5.7 | MySQL 8.0 |
|---|---|---|
| Release date | 2015-10-09 | 2018-04-08 |
| End of life | 2023-10-31 | 2026-04-30 |
| LTS release | No | Yes |
| Currently supported | No | No |
Feature differences
Unchanged New capability Behavior changed Deprecated Removed
| Feature | MySQL 5.7 | MySQL 8.0 |
|---|---|---|
| Default authentication plugin | mysql_native_password | caching_sha2_password (since 8.0.4) |
| GROUP BY implicit sort order | Often sorted in practice (undocumented, deprecated) | Never guaranteed — add explicit ORDER BY |
| Default character set | latin1 | utf8mb4 |
| Query cache | Deprecated (since 5.7.20) | Removed entirely — no ON/OFF option exists |
| Window functions (OVER()) | Not supported | Supported |
| Common Table Expressions (WITH) | Not supported | Supported, including RECURSIVE |
| Roles (CREATE ROLE) | Not supported | Supported |
| JSON column type | Native binary JSON type (since 5.7.8) | Native binary JSON type, expanded functions |
| Replication terminology | MASTER / SLAVE (CHANGE MASTER TO, SHOW SLAVE STATUS) | SOURCE / REPLICA syntax added (8.0.23+); old terms still accepted |
| Upgrade process | Manual mysql_upgrade required after binary swap | Automatic upgrade on startup (since 8.0.16) |
| New reserved keywords | Baseline keyword set | Adds OVER, RECURSIVE, ROW_NUMBER, RANK, LAG, LEAD, GROUPS, WINDOW, and more |
Explore another pair
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.