> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-10-11-to-mariadb-11-4.md).

# Upgrading from MariaDB 10.11 to MariaDB 11.4

Guide for upgrading from the previous LTS version 10.11 to 11.4, highlighting major optimizer changes, replication improvements, and SSL defaults.

This page includes details for upgrading from [MariaDB 10.11](/docs/release-notes/community-server/10.11/what-is-mariadb-1011.md) to the subsequent long-term maintenance version, [MariaDB 11.4](/docs/release-notes/community-server/11.4/what-is-mariadb-114.md).

### How to Upgrade

For Windows, see [Upgrading MariaDB on Windows](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/platform-specific-upgrade-guides/upgrading-mariadb-on-windows.md).

For MariaDB Galera Cluster, see [Upgrading Galera Cluster](/docs/galera-cluster/galera-management/upgrading-galera-cluster.md) section.

Before you upgrade, it would be best to take a backup of your database. This is always a good idea to do before an upgrade. We would recommend [mariadb-backup](/docs/server/server-usage/backup-and-restore/mariadb-backup/mariadb-backup-overview.md).

The suggested upgrade procedure is:

1. Modify the repository configuration, so the system's package manager installs MariaD11.4.
   1. On Debian, Ubuntu, and other similar Linux distributions, see [Updating the MariaDB APT repository to a New Major Release](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/installing-mariadb-deb-files.md#updating-the-mariadb-apt-repository-to-a-new-major-release) for more information.
   2. On RHEL, CentOS, Fedora, and other similar Linux distributions, see [Updating the MariaDB YUM repository to a New Major Release](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/yum.md#updating-the-mariadb-yum-repository-to-a-new-major-release) for more information.
   3. On SLES, OpenSUSE, and other similar Linux distributions, see [Updating the MariaDB ZYpp repository to a New Major Release](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/installing-mariadb-with-zypper.md#updating-the-mariadb-zypp-repository-to-a-new-major-release) for more information.
2. [Stop MariaDB](/docs/server/server-management/starting-and-stopping-mariadb/starting-and-stopping-mariadb-automatically.md).
3. Uninstall the old version of MariaDB.
   1. On Debian, Ubuntu, and other similar Linux distributions, execute the following: `sudo apt-get remove mariadb-server`
   2. On RHEL, CentOS, Fedora, and other similar Linux distributions, execute the following: `sudo yum remove MariaDB-server`
   3. On SLES, OpenSUSE, and other similar Linux distributions, execute the following: `sudo zypper remove MariaDB-server`
4. Install the new version of MariaDB.
   1. On Debian, Ubuntu, and other similar Linux distributions, see [Installing MariaDB Packages with APT](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/installing-mariadb-deb-files.md#installing-mariadb-packages-with-apt) for more information.
   2. On RHEL, CentOS, Fedora, and other similar Linux distributions, see [Installing MariaDB Packages with YUM](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/yum.md#installing-mariadb-packages-with-yum-dnf) for more information.
   3. On SLES, OpenSUSE, and other similar Linux distributions, see [Installing MariaDB Packages with ZYpp](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/installing-mariadb-with-zypper.md#installing-mariadb-packages-with-zypp) for more information.
5. Make any desired changes to configuration options in [option files](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md), such as `my.cnf`. This includes removing any options that are no longer supported.
6. [Start MariaDB](/docs/server/server-management/starting-and-stopping-mariadb/starting-and-stopping-mariadb-automatically.md).
7. Run [mariadb-upgrade](/docs/server/clients-and-utilities/deployment-tools/mariadb-upgrade.md), to:
   1. Ensure that the system tables in the [mysql](/docs/server/reference/system-tables/the-mysql-database-tables.md) database are fully compatible with the new version.
   2. Perform a very quick check of all tables and marks them as compatible with the new version of MariaDB.

### Incompatible Changes Between 10.11 and 11.4

On most servers upgrading from 10.11 should be painless. However, there are some things that have changed which could affect an upgrade:

#### Options That Have Been Removed or Renamed

The following options should be removed or renamed if you use them in your [option files](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md):

| Option                                                                                                                                                        | Reason                                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [debug\_no\_thread\_alarm](/docs/server/server-management/variables-and-modes/server-system-variables.md#debug_no_thread_alarm)                               | Unused code.                                                                                                                                                                          |
| [innodb\_defragment](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment)                                           | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |
| [innodb\_defragment\_fill\_factor](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment_fill_factor)                 | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |
| [innodb\_defragment\_fill\_factor\_n\_recs](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment_fill_factor_n_recs) | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |
| [innodb\_defragment\_frequency](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment_frequency)                      | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |
| [innodb\_defragment\_n\_pages](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment_n_pages)                         | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |
| [innodb\_defragment\_stats\_accuracy](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_defragment_stats_accuracy)           | [Defragmenting InnoDB Tablespaces](/docs/server/ha-and-performance/optimization-and-tuning/optimizing-tables/defragmenting-innodb-tablespaces.md) in this manner no longer supported. |

#### Options That Have Changed Default Values

| Option                                                                                                                            | Old default | New default                                                                                                              |
| --------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------ |
| [optimizer\_switch](/docs/server/server-management/variables-and-modes/server-system-variables.md#optimizer_switch)               |             | See [optimizer-switch](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/optimizer-switch.md). |
| [innodb\_purge\_batch\_size](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_purge_batch_size) | 300         | 1000                                                                                                                     |

#### Options That Have Been Removed or Renamed

The following options should be removed or renamed if you use them in your [option files](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md):

| Option                                                                                                             | Reason                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| [old\_alter\_table](/docs/server/server-management/variables-and-modes/server-system-variables.md#old_alter_table) | Superseded by [alter\_algorithm](/docs/server/server-management/variables-and-modes/server-system-variables.md#alter_algorithm). |

#### Deprecated Options

The following options have been deprecated. They have not yet been removed, but will be in a future version, and should ideally no longer be used.

| Option                                                                                                                                                       | Reason                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [innodb\_purge\_rseg\_truncate\_frequency](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_purge_rseg_truncate_frequency) | The motivation for introducing this in MySQL seems to have been to avoid stalls due to freeing undo log pages or truncating undo log tablespaces. In MariaDB, [innodb\_undo\_log\_truncate=ON](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_undo_log_truncate) should be a much lighter operation because it will not involve any log checkpoint, hence this is deprecated and ignored |
| [tx\_isolation](/docs/server/server-management/variables-and-modes/server-system-variables.md#tx_isolation)                                                  | Replaced with [transaction\_isolation](/docs/server/server-management/variables-and-modes/server-system-variables.md#transaction_isolation) to align the option and system variable.                                                                                                                                                                                                                                         |
| [tx\_read\_only](/docs/server/server-management/variables-and-modes/server-system-variables.md#tx_read_only)                                                 | Replaced with [transaction\_read\_only](/docs/server/server-management/variables-and-modes/server-system-variables.md#transaction_read_only) to align the option and system variable.                                                                                                                                                                                                                                        |

### See Also

* [Features in MariaDB 11.4](/docs/release-notes/community-server/11.4/what-is-mariadb-114.md)
* [Features in MariaDB 11.3](/docs/release-notes/community-server/old-releases/11.3/what-is-mariadb-113.md)
* [Features in MariaDB 11.2](/docs/release-notes/community-server/old-releases/11.2/what-is-mariadb-112.md)
* [Features in MariaDB 11.1](/docs/release-notes/community-server/old-releases/11.1/what-is-mariadb-111.md)
* [Features in MariaDB 11.0](/docs/release-notes/community-server/old-releases/11.0/what-is-mariadb-110.md)
* [Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster](/docs/galera-cluster/galera-management/upgrading-galera-cluster/upgrading-from-mariadb-10-6-to-mariadb-10-11-with-galeracluster.md)
* [Upgrading from MariaDB 10.6 to MariaDB 10.11](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-to-unmaintained-mariadb-releases/upgrading-from-mariadb-10-6-to-mariadb-10-7.md)
* [Upgrading from MariaDB 10.5 to MariaDB 10.6](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-10-5-to-mariadb-10-6.md)

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formId="4316" %}
