How to Upgrade Aurora MySQL Databases: Lessons Learned from SupremeTech
21/03/2025
41
Table of Contents
Upgrading a critical database like Aurora MySQL can feel daunting. We want better performance and a smooth system, but downtime and data risks can loom large. At SupremeTech, we’ve tackled this challenge head-on and shared our proven approach.
This insight comes from Mr. Phuoc Pham, our Infrastructure Manager, who presented at the morning session of “Harnessing AI on AWS: Transforming Software Builders for the Future” event by AWS and MegazoneCloud. The event focused on giving software companies tools, strategies, and real-world solutions to innovate, boost performance, and grow globally with AI. In his talk, Mr. Phuoc revealed our 6-step process that minimizes risks, protects data, and increases efficiency. Here’s how we did it, key lessons learned, and how you can ensure a smooth and risk-free database upgrade.

SupremeTech’s contribution to the AWS and Megazone event
SupremeTech partners with AWS and MegazoneCloud to share our expertise in tackling technical challenges. In the morning session, Mr. Phuoc Pham delivered a presentation on lessons learned from Aurora MySQL upgrades, offering practical tips for software companies to optimize their infrastructure. In the afternoon, our chairman, Mr. Truong Dinh Hoang, joined a panel discussion on future trends for ISVs, highlighting strategies for growth and innovation. These contributions underscored SupremeTech’s commitment to helping businesses enhance performance and scale smarter.

The Challenges of Upgrading Aurora MySQL
Mr. Phuoc kicked off by sharing real-world challenges we faced with a client’s Aurora MySQL upgrades:
- Minimal downtime: We had to finish in under 2 hours, including rollback time if needed.
- System stability: Our database powers multiple services, so it had to stay reliable post-upgrade.
- Fast rollback: We needed a quick way to revert without losing data if something went wrong.
- User impact: Our process had to keep disruptions low and customer trust high.
These hurdles might sound familiar if you’ve upgraded a system. The key to achieving this is a structured and well-tested upgrade process.

The 6-Step Database Upgrade Process
At SupremeTech, we follow a 6-step upgrade process to ensure a smooth transition.
Step 1: Collect and Analyze Data Before the Upgrade
Preparation is everything. Before making any changes, assessing your current database setup is essential. This helps identify potential risks and prepare for a smooth transition.
Mr. Phuoc emphasized checking:
- Database Schema & Objects – Make sure there are no conflicts with the new version.
- Connected Applications – Identify all services using the database.
- Custom Database Settings – Compare parameter changes between versions.
- Performance Metrics – Monitor CPU, memory, query latency, and transaction speed.
We gather this information using tools like database logs, security groups, and queries like SHOW FULL PROCESSLIST. This step prepares us for a smooth upgrade.

Step 2: Choose the Right Upgrade Method with C.I.D.D.E.R Framework
Not all upgrade methods are the same. Depending on your system’s needs, you may choose one of the following:
- Snapshot Restore – Reliable but requires full backup and longer downtime.
- Clone Cluster – Fast rollback but requires additional storage.
- In-Place Upgrade – Minimal downtime but higher risk.
- Blue/Green Deployment – Safest rollback option but costly.
At SupremeTech, we use the C.I.D.D.E.R framework to decide the best method based on:
- Complexity: How hard is the upgrade?
- Infrastructure Cost: What’s the budget hit?
- Downtime: How long will it take?
- Dependencies: What else relies on our database?
- Expertise: Do we have the skills?
- Rollback Strategy: How easy is it to undo?
Choosing the right upgrade method can reduce risk and save time. For this case—a 10GB database, multiple services, and a team still building experience—we chose an in-place upgrade with a clone cluster backup for quick rollback by renaming the database cluster. It kept the endpoint intact and downtime under 2 hours.
Step 3: Test with a Dry Run
“There’s no place like production,” Mr. Phuoc quipped, stressing the need for practice.
A dry-run is a test upgrade performed in a staging environment to catch problems before they affect real users. We run dry runs on a cloned database and DEV/STG environments to:
- Detects issues before they impact production.
- Reduces unexpected downtime.
- Helps estimate the actual upgrade time.
This extra step can save hours of troubleshooting later.
Step 4: Fine-Tuning Based on Dry-Run Results
After testing, we adjust the process:
- Adjust database settings.
- Fix errors from the dry run.
- Shorten execution time for less downtime.
- Refine rollback procedures.
- Update guides for our team.
A few small tweaks before the upgrade can prevent major issues after it.
Step 5: Deployment – The Actual Upgrade
With everything tested and fine-tuned, it’s time to execute the upgrade in production.
How we ensure success:
- Perform the upgrade during low-traffic hours.
- Keep the rollback plan ready.
- Monitor logs in real time for any errors.
Having a clear step-by-step deployment plan prevents last-minute surprises.
Step 6: Monitor After the Upgrade
Post-upgrade, we track key metrics like:
- Resources: CPU, memory, disk usage.
- Performance: Query response time, QPS, TPS.
- Errors: Any glitches or slow queries.
- Data Integrity: No data loss or corruption.
Continuous monitoring after the upgrade helps us spot issues quickly, reducing troubleshooting time and minimizing the impact on our customers. We monitor key performance metrics for both the new and old databases to compare. We also watch the four golden signals—latency, traffic, errors, and saturation—to get a full picture of system health.
At SupremeTech, we use AI-powered tools like Amazon Q to analyze database logs and detect anomalies faster than manual monitoring.
Why post-upgrade monitoring matters:
- Quickly identifies hidden performance issues.
- Ensures the upgrade was 100% successful.
- Helps optimize for better database efficiency.

Results & Lessons Learned
Our Results
By following this 6-step process, SupremeTech successfully upgraded Aurora MySQL with:
- Done in under 2 hours of downtime.
- Lowered infra costs with smarter planning.
- Boosted performance and customer trust.
Key Takeaways
Mr. Phuoc wrapped up with these gems:
- Prep is everything: Gathering and analyzing info before the upgrade is critical to spot risks early.
- Plan for data checks: We ensure data integrity with a solid verification plan.
- Pick the right approach: We choose deployment and rollback methods that fit our clients’ operations.
- Keep monitoring: Continuous tracking helps us stay ahead of issues.
- Automate with AI: Using AI and tools speeds us up and cuts errors.
Wrapping Up
Upgrading a database doesn’t have to be a risky, stressful process. You can confidently upgrade with the right preparation, testing, and monitoring. Thanks to Mr. Phuoc Pham’s presentation at the AWS and MegazoneCloud event, our 6-step process at SupremeTech proves you can keep risks low, protect data, and emerge stronger when doing Aurora MySQL upgrades.
If your company is planning a database upgrade and needs expert guidance, contact our team at SupremeTech. We help businesses upgrade critical databases without disruption. Want to learn more about cloud database best practices? Stay tuned for more insights from our tech experts!
Related articles about AWS:
Related Blog