# MySQL Upgrade from 8.0 to 8.4.x  (Azure)

This article provides a step-by-step procedure for upgrading **Azure Database for MySQL** from version **8.0 to 8.4**.**x.** The upgrade ensures continued vendor support, access to the latest security patches, improved performance, and new features in MySQL 8.4.&#x20;

**System Administrators, Database Administrators, and DevOps Engineers** are responsible for managing and maintaining Azure-hosted MySQL services.

## Prerequisites

Before initiating the upgrade, ensure the following conditions are met:

* **Backups**
  * Take a full logical backup of all MySQL databases using `mysqldump` or `mysqlpump`.
  * Verify backup integrity and ensure restore capability.
* **Application Downtime Preparation**
  * Stop dependent application services (e.g., Apache Tomcat hosting OvalEdge or other applications).
  * Communicate planned downtime to stakeholders.
* **Access Requirements**
  * Ensure administrator-level access to the Azure portal and the Azure Database for MySQL service.
* **Pre-Migration Checks**
  * Run pre-migration scripts (if applicable to the environment).
  * Validate that no long-running queries or transactions are active.

### Upgrade Steps

1. **Log in to Azure**
   * Access the Azure portal at:\
     👉 [https://portal.azure.com](https://portal.azure.com?utm_source=chatgpt.com)

     <figure><img src="/files/uO0cSLLCgVYjkRLKQiwE" alt=""><figcaption></figcaption></figure>
   * Authenticate using appropriate credentials with access to Azure Database for MySQL.<br>

2. **Locate the MySQL Instance**
   * Navigate to **Azure Database for MySQL servers**.

     <figure><img src="/files/I15qslRQeqxbdaf3d33g" alt=""><figcaption></figcaption></figure>
   * Select the target instance currently running MySQL **8.0**.<br>

3. **Initiate the Upgrade**
   * Go to **Overview** and click **Upgrade**.

     <figure><img src="/files/yK8oYHhmMEEY6MI3S0Bp" alt=""><figcaption></figcaption></figure>
   * Review the upgrade details and check the confirmation box. Click **Next.**

     <figure><img src="/files/ItgQmxYztJH9tCV6P02n" alt=""><figcaption></figcaption></figure>
   * Preview the details and click **Next** to proceed.

     <figure><img src="/files/ozat8dOqfyrXJltVNp0O" alt=""><figcaption></figcaption></figure>

     <figure><img src="/files/KpL8dj4tXS4aiJnEmPWi" alt=""><figcaption></figcaption></figure>

4. **Confirm and Execute Upgrade**
   * Click **Upgrade** to start the process.

     <figure><img src="/files/5OUFlYQSGGKWp4VFlf8q" alt=""><figcaption></figcaption></figure>
   * ⚠️ The operation may take several minutes.

     <figure><img src="/files/b11IqYXYmfwtqdaH46jS" alt=""><figcaption></figcaption></figure>
   * During this period, the database service may be unavailable.<br>

5. **Verify Upgrade Completion**
   * Once the upgrade is complete, refresh the **Overview** page.

     <figure><img src="/files/hmxTzQffH0c9Cf5JcXOQ" alt=""><figcaption></figcaption></figure>
   * Confirm the server version is updated to **MySQL 8.4**.

     <figure><img src="/files/dd5OIFwXona9BxOh9Spk" alt=""><figcaption></figcaption></figure>

### Post-Upgrade Steps

1. **Application Reconnection**
   * Update application configurations (if necessary) to point to the upgraded MySQL instance.
   * Restart dependent services (e.g., **Tomcat**).<br>
2. **Run Post-Migration Scripts**
   * Execute any required post-migration SQL scripts provided by the application or DBA team.<br>
3. **Validation**
   * Confirm application connectivity and functionality.
   * Check database logs for warnings or errors.
   * Run health checks on critical queries and stored procedures.

### Restore Backup

* If the MySQL upgrade to 8.4 fails:
  * The server will remain on MySQL 8.0.
  * Point the OE application back to the MySQL 8.0 instance and start the application.
* If issues persist after reconnecting to MySQL 8.0:
  * Create a new Azure MySQL instance with version 8.4.
  * Restore the pre-upgrade MySQL 8.0 backup to the new instance.

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ovaledge.com/release8.1/deployment-and-maintenance/upgrade/mysql-upgrade-from-8.0-to-8.4.x-azure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
