MySQL 8.4 LTS Upgrade Guide (2025): Checklist, Risks, and Gains
MySQL 8.4 is the first Long-Term Support (LTS) release in the MySQL 8 family. For teams running 8.0 in production, 8.4 offers a stable target with extended support, security fixes, and operational improvements.
Why 8.4 LTS matters
- Extended support horizon for security and bug fixes
- Operational stability for long-lived estates
- Performance and observability improvements that reduce toil
Pre‑upgrade compatibility checklist
- Inventory servers and versions (mysqld, connectors, clients, plugins).
- Review removed/deprecated features from 8.0 → 8.4 release notes.
- Audit SQL modes, character sets, collations, and time zones.
- Check authentication plugins and TLS requirements.
- Verify partitioning, generated columns, JSON paths, and GIS usage.
- Confirm backup and restore process for current version.
Tip: capture query patterns with digest tables and performance schema ahead of time to compare pre/post behavior. If you use ProxySQL, its digest and stats views make this easy. See our read/write split guide here: ProxySQL Replication Read‑Write Split.
Upgrade strategy: In‑place vs logical
When to use in‑place (preferred)
- Same major family (8.0 → 8.4) with supported on-disk formats
- Strict downtime budget and large datasets
- Replication topology allows rolling restarts
When to use logical
- Cross‑platform moves or storage format concerns
- Schema cleanup or character set/collation changes
- Need for cross‑version validation prior to cutover
Rolling plan for large estates
- Stand up staging that mirrors production topology and data scale.
- Upgrade secondaries first. Validate replication, then promote/test.
- Blue/green or replica-based cutover for primary.
- Read traffic through a proxy layer (e.g., ProxySQL) for safe routing.
- Gate writes during primary switch to prevent drift.
Validation plan
- Functional: application smoke tests, migrations, background jobs.
- Performance: TPS/latency with sysbench; compare digest outliers.
- Indexes and plans: verify plan stability for top N queries.
- Error budgets: watch deadlocks, lock waits, and error counters.
Post‑upgrade hardening
- Rebuild statistics as needed; verify ANALYZE behavior.
- Harden auth, TLS, and user roles; rotate credentials.
- Enable or tune slow log thresholds and sampling.
- Refresh backups; validate PITR and restore timing.
Common pitfalls to avoid
- Skipping release notes and deprecation notices.
- Upgrading primary first in a replicated topology.
- Assuming plan stability without comparing digest data.
- Neglecting connector/driver upgrades and TLS defaults.
Resources
- JSON changes and advanced usage in 8.x: 10 JSON Functions in MySQL 8
- Query routing and safe cutovers: ProxySQL Read‑Write Split
Need a second set of eyes?
If you’re planning a move to 8.4 LTS, we can help with assessment, rehearsal, and rollout. Contact us.
No items found.
No items found.