MySQL Upgrades

MySQL upgrade services: from 5.7 and 8.0 to 8.4 LTS

Last reviewed by Tyler Eastridge

AceMQ plans and runs MySQL upgrades from 5.7 and 8.0 to 8.4 LTS on self-managed servers, Amazon RDS, Aurora and Azure: the supported path, the 8.4 breaking changes checked against your schema, accounts and replication, a rolling rollout with a tested rollback, and a cost comparison against Extended Support. MySQL 8.0 reached end of life in April 2026, and an LTS series cannot be skipped. AceMQ sells the upgrade, not patched builds, and says so when staying on 8.0 is the better call.

MySQL 8.0 Extended Support ends, per Oracle
Apr 2026
MySQL 8.4 LTS Extended Support ends, per Oracle
Apr 2032
RDS for MySQL 8.0 Extended Support ends, per AWS
31 Jul 2029

Is This You?

You probably need this if…

  1. 01

    We run MySQL 5.7 and have not planned the two steps it takes to reach 8.4

  2. 02

    RDS or Azure now bills Extended Support for our 8.0 instances and nobody has priced the upgrade against it

  3. 03

    We tried 8.0 to 8.4 on a copy and the upgrade failed on a table or an account

  4. 04

    Some applications still log in with mysql_native_password and nobody can say which

  5. 05

    Our replicas run a different version from the primary and the topology has no documented upgrade order

  6. 06

    A change board wants a rollback plan that does not depend on a downgrade

  7. 07

    Someone suggested staying on 8.0 with patches and nobody has compared that with upgrading

Outcomes

Where you are now, and where you end up

Concrete state changes, not deliverable counts. This is what actually differs about your MySQL estate when the engagement closes.

  1. Before

    The upgrade plan is one line: move to 8.4.

    After

    A step list from your exact version, with the order of servers, the check run on a copy and a named owner for each step.

  2. Before

    Breaking changes are discovered when an application fails to connect.

    After

    Accounts, scripts, runbooks and drivers checked against the 8.4 changes before the first server restarts.

  3. Before

    The cost of waiting is a guess.

    After

    A side-by-side of your platform's Extended Support charge against the upgrade, using your instance count and the live price list.

Recognise your estate here? Get a quote for MySQL upgrades from a senior engineer.

Contact Us

Scope

What's covered

  • 01

    Version and Topology Inventory

    Server version and edition or managed service, the replication topology, and the tools, jobs and applications that share each instance.

  • 02

    Upgrade Checker Run

    MySQL Shell's Upgrade Checker Utility, which the MySQL documentation recommends before any upgrade, run against a restored copy, with its findings ranked by what would stop the upgrade.

  • 03

    8.4 Breaking-Change Review

    Authentication plugins, removed replication statements, removed variables and utilities, and AUTO_INCREMENT on floating-point columns, checked against your accounts, scripts and schema.

  • 04

    Replication-Safe Rollout

    The order of replicas and source, the switchover, and what each replica runs at each step, following the rolling scheme in MySQL's replication upgrade documentation.

  • 05

    Rollback Design

    A rollback that does not rely on a downgrade: a restore you have timed, or a replica kept on the old version until acceptance, with the point of no return stated.

  • 06

    Extended Support Cost Comparison

    What waiting costs on RDS, Aurora or Azure for your instance count, against the upgrade, from the platform's own price list on the day.

  • 07

    Application and Driver Compatibility

    Client libraries, ORMs and connection pools that depend on the old authentication plugin or removed statements, listed per application with the change each needs.

  • 08

    Runbooks and Handover

    Updated failover, backup and restore runbooks written for 8.4, and a working session with your DBAs so the result outlasts the engagement.

Want a senior MySQL engineer to scope this with you? Get a quote or send us a message.

Contact Us

The Engagement

How it actually runs

Every phase has a defined duration and a concrete artifact handed over at the end of it. You always know what stage you're in and what you've received.

  1. Phase 1Scoped per estate

    Assess

    Inventory of versions and topology, plus the Upgrade Checker run on a restored copy. Read-only: nothing in production changes and you keep every credential.

    You receive

    • Inventory of servers, versions and owners
    • Checker findings ranked by blocking risk
    • List of applications to test
  2. Phase 2Scoped per estate

    Design

    The path from your version, the order of servers, the rollback for each step and, on a managed platform, the cost comparison. One decision at the end: upgrade now, or stay and why.

    You receive

    • Step-by-step upgrade plan
    • Rollback and point-of-no-return statement
    • Extended Support comparison where it applies
  3. Phase 3Scoped per estate

    Rehearse

    The upgrade is run on a restored copy that mirrors production, including the rollback, so the production window holds no first attempts. Applications are tested against the upgraded copy.

    You receive

    • Rehearsed runbook with measured times
    • Application test results
    • Fixes applied to scripts and accounts
  4. Phase 4Planned change window

    Cut over and hand over

    AceMQ and your DBAs run the production change together, then hand over updated runbooks and monitoring, with optional 24/7 support or managed operation afterwards.

    You receive

    • Estate on 8.4 and verified
    • Updated runbooks and alerts
    • Optional move to 24/7 support

MySQL upgrade paths: what is supported from 5.7 and 8.0

MySQL's long-term-support series cannot be skipped. The 8.4 documentation says so in its own example: to go from 5.7 to 8.4, upgrade to 8.0 first and then to 8.4. Where you start decides how many changes there are.

MySQL server upgrade paths by starting point (MySQL 8.4 Reference Manual, Upgrade Paths, read 4 November 2026)
Starting pointPathNote
MySQL 5.75.7 to 8.0, then 8.0 to 8.4Two upgrades, each with its own checker run and rollback; the 8.0 stop can be short
MySQL 8.08.0 to 8.4 LTSIn-place, logical dump and load, or replication; the usual case
MySQL 8.4 LTS8.4 to 9.7 LTSSupported; 8.0 cannot go straight to 9.7
An Innovation releaseTo the next LTS series, for example 8.3 to 8.4Innovation releases are supported only until the next one ships
Going back to an older seriesNot a path to rely onMySQL's documentation allows moving 8.0 back to 5.7 only by restoring a backup, so the rollback is designed around backups and replicas
Oracle Lifetime Support dates by MySQL series (Oracle Lifetime Support Policy, effective 2 October 2026, month and year as Oracle prints them)
SeriesGeneral availabilityPremier Support toExtended Support to
MySQL 5.7October 2015October 2020October 2023
MySQL 8.0April 2018April 2025April 2026
MySQL 8.4 LTSApril 2024April 2029April 2032
MySQL 9.7 LTSApril 2026April 2031April 2034

What breaks when a server goes to MySQL 8.4

Most 8.0 to 8.4 failures come from a short list of removals. They are cheap to find on a copy and expensive to find in a change window.

MySQL 8.4 changes that stop applications, scripts or the upgrade itself (MySQL 8.4 Reference Manual, What Is New in MySQL 8.4, read 4 November 2026)
Change in 8.4What failsWhat we check
mysql_native_password is no longer enabled by defaultAccounts and clients still using that plugin cannot authenticateAccounts by plugin, driver versions, and whether to enable it with --mysql-native-password=ON as a stopgap while clients move to caching_sha2_password, the 8.0 default
CHANGE MASTER TO, RESET MASTER, SHOW MASTER STATUS and PURGE MASTER LOGS removedScripts, runbooks and monitoring that use the old statements error outEvery script and orchestration step, rewritten to CHANGE REPLICATION SOURCE TO, RESET BINARY LOGS AND GTIDS and the other new forms
mysql_upgrade and mysqlpump removedOld upgrade steps and backup jobs failBackup jobs moved to mysqldump or MySQL Shell's dump utilities
expire_logs_days removedA configuration file that sets it stops the server startingOption files, moved to binlog_expire_logs_seconds
FLUSH HOSTS removedScripts that clear the host cache failReplace with TRUNCATE on performance_schema.host_cache or mysqladmin flush-hosts
AUTO_INCREMENT on FLOAT or DOUBLE columns no longer allowedThe upgrade itself fails until the table is fixedA schema scan on the copy, before any change window
Several InnoDB default values changedPerformance can change with no errorVariables compared against a baseline, and a workload replay

Accounts keep the authentication plugin stored for them, so a client that still depends on mysql_native_password fails at login after the upgrade, not during it. That is why account and driver inventory belongs in the rehearsal and not in the change window.

Order we hold

Checker on a copy first, rehearsal second, production last. A platform change, a version upgrade and a change in how applications connect are separate windows, each with its own way back.

Ready to talk MySQL? Get a quote or send us a message.

Contact Us

Upgrading a replicated estate without a long outage

MySQL's documentation upgrades a replication topology with a rolling scheme in which each server is moved by one of the supported single-server methods. Replicas go first and the source last, because a newer replica can replicate from an older source but not the other way round.

  • Replicas first — One replica is upgraded, rejoined and watched for lag and errors before the next is touched.
  • Switchover — Writes move to an upgraded replica in a planned, rehearsed step; applications reconnect through the proxy, DNS name or virtual IP they already use.
  • Old source last — The old source is upgraded and rejoins as a replica. Until then it is the way back.
  • Acceptance — A replica on the old version is kept until the agreed acceptance period ends, then retired.

How long writes are interrupted depends on your failover tooling and your applications' reconnect behaviour, not on MySQL alone. The plan states the exposure for each step, and the rehearsal measures it.

What waiting costs on RDS, Aurora and Azure

On a managed platform, staying on MySQL 8.0 after the provider's standard support ends is a monthly charge, not a free choice. The dates below are each provider's own.

Managed MySQL support dates for 5.7 and 8.0 (AWS RDS and Aurora MySQL calendars and Azure Database for MySQL version policy, read 4 November 2026)
PlatformVersionStandard support endsExtended Support
Amazon RDS for MySQL8.031 July 2026Charged from 1 August 2026, year-3 pricing from 1 August 2028, ends 31 July 2029
Amazon RDS for MySQL8.4 LTS31 July 2029Extended Support ends 31 July 2032
Amazon RDS for MySQL5.729 February 2024Charged from 1 March 2024, year-3 pricing from 1 March 2026, ends 30 June 2029
Azure Database for MySQL8.031 January 20271 February 2027 to 31 May 2029, billed per vCore-hour
Azure Database for MySQL5.730 September 20261 October 2026 to 31 March 2029, billed per vCore-hour
Amazon Aurora MySQL3 (8.0)30 April 20281 May 2028 to 31 July 2029; Aurora keeps its own calendar for 8.4, so read it for your version

On RDS the charge is per vCPU-hour, depends on the version, the Region and the years since standard support ended, applies to Multi-AZ standbys and replicas, and is not reduced by Reserved Instance discounts. AceMQ prints no rate because the providers publish and change their own. The comparison uses your instance count and the price list on the day it is made.

Recognise your estate here? Get a quote for MySQL upgrades from a senior engineer.

Contact Us

When staying on MySQL 8.0 is the right call

Not every 8.0 server should move this quarter. Three cases hold up:

  • A short remaining life — The system is being retired within months, and the upgrade would cost more than the exposure.
  • A certified dependency — A vendor product supports only 8.0 and the vendor has not published an 8.4 date.
  • Compensating controls — The server is isolated and monitored, the risk is accepted in writing, and a date to revisit is set.

If you stay, you need patches: Oracle's own are available under its support terms, and OSSeva supplies patched builds of MySQL 5.7 and 8.0 Community. AceMQ's 24/7 support covers the version you run, and AceMQ does not sell patched builds.

Where this service is not a fit

  • MariaDB and forks — MariaDB has its own versions and upgrade rules. This page covers Oracle MySQL Community and the managed MySQL services named above.
  • Application code — We tell you which statements, drivers and settings to change. Your developers make the change, or we work with them.
  • Provider-controlled steps — On RDS, Aurora and Azure the provider performs the engine upgrade. We plan, check and sequence it and do not replace the console.
  • Moving off MySQL — A move to PostgreSQL is a different project, set out in our PostgreSQL practice, not an upgrade.
  • No downtime guarantee — Rolling upgrades are designed to keep writes interrupted as briefly as the design allows. The plan states the exposure for each step.

Want a senior MySQL engineer to scope this with you? Get a quote or send us a message.

Contact Us

Typical engagements

How these engagements run

Typical engagement scenarios: what the work covers and what it delivers. They describe the service, not past results.

1 / 8 case studies

All use cases

FAQ

Questions about MySQL upgrades

Can we upgrade from MySQL 5.7 straight to 8.4?

No. MySQL's documentation says an LTS or bugfix series cannot be skipped, and uses 5.7 to 8.4 as its own example: upgrade to 8.0 first, then to 8.4. AceMQ plans both steps together, runs the checker for each, and keeps the stop on 8.0 as short as the testing allows.

Is MySQL 8.0 end of life?

Yes. The community 8.0 line reached end of life in April 2026, and Oracle's Lifetime Support Policy lists 8.0 Extended Support to April 2026. Your platform may differ: Amazon RDS ended standard support for 8.0 on 31 July 2026 and now charges for Extended Support, which runs to 31 July 2029, and Azure's 8.0 standard support ends on 31 January 2027.

Can an 8.4 upgrade be rolled back?

MySQL's documentation supports moving 8.0 back to 5.7 only by restoring a backup, and AceMQ designs every upgrade the same way: a restore whose time you have measured, or a replica kept on the old version until acceptance. The plan names the point after which a rollback is a restore, so the change board knows it before approving.

What if staying on 8.0 is the better choice?

Then the plan says so, with the reason and a date to revisit. While you stay, AceMQ's 24/7 MySQL support covers the version you run; AceMQ does not sell patched builds.

Do you upgrade MySQL on RDS, Aurora and Azure?

AceMQ plans and drives the upgrade there: the checker run on a restored copy, the application and driver review, the order of instances and replicas, and the Extended Support comparison. The provider performs the engine upgrade in its own console or API. Aurora keeps its own release calendar, which AceMQ reads with you.

Let's talk

Scope Your MySQL Upgrade

Tell us your MySQL versions, where they run, and whether you use replication. We reply within 1 hour and follow with a written scope and quote.

Email Us

Get in Touch

Talk to a MySQL Expert

Send us a message and we'll follow up within 1 hour — or book a free 30-min consultation directly.

305-204-2607
info@acemq.com
66 W. Flagler St. 9th Floor
Miami, FL 33130

Prefer to talk now? Call us directly or use the consultation tab to find a time that works.

We respond within 1 hour.

Pick a time that works — no pressure, no pitch. Just 30 minutes with an expert.

We respond within 1 hour.