# Upgrading from MariaDB 10.5 to MariaDB 10.6

### 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 from MariaDB 10.5 to MariaDB 10.6 with Galera Cluster](/docs/galera-cluster/galera-management/upgrading-galera-cluster/upgrading-from-mariadb-10-5-to-mariadb-10-6-with-galera-cluster.md).

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 [MariaDB 10.6](/docs/release-notes/community-server/10.6/what-is-mariadb-106.md).
   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) 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.5 and 10.6

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

The bahaviour of sorting non-deterministic variables in a Select query can be changed ,\
see ([MDEV-27745](https://jira.mariadb.org/browse/MDEV-27745))

#### Reserved Word

* New [reserved word](/docs/server/reference/sql-structure/sql-language-structure/reserved-words.md): `OFFSET`. This can no longer be used as an [identifier](/docs/server/reference/sql-structure/sql-language-structure/identifier-names.md) without being quoted.

#### InnoDB COMPRESSED Row Format

From MariaDB 10.6.0 until MariaDB 10.6.5, tables that are of the `COMPRESSED` row format are read-only by default. This was intended to be the first step towards removing write support and deprecating the feature.

This plan has been scrapped, and from MariaDB 10.6.6, `COMPRESSED` tables are no longer read-only by default.

From MariaDB 10.6.0 to MariaDB 10.6.5, set the [innodb\_read\_only\_compressed](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_read_only_compressed) variable to `OFF` to make the tables writable.

#### Character Sets

From MariaDB 10.6, the `utf8` [character set](/docs/server/reference/data-types/string-data-types/character-sets.md) (and related collations) is by default an alias for `utf8mb3` rather than the other way around. It can be set to imply `utf8mb4` by changing the value of the [old\_mode](/docs/server/server-management/variables-and-modes/server-system-variables.md#old_mode) system variable.

#### Options That Have Changed Default Values

| Option                                                                                                                               | Old default value | New default value |
| ------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | ----------------- |
| [character\_set\_client](/docs/server/server-management/variables-and-modes/server-system-variables.md#character_set_client)         | utf8              | utf8mb3           |
| [character\_set\_connection](/docs/server/server-management/variables-and-modes/server-system-variables.md#character_set_connection) | utf8              | utf8mb3           |
| [character\_set\_results](/docs/server/server-management/variables-and-modes/server-system-variables.md#character_set_results)       | utf8              | utf8mb3           |
| [character\_set\_system](/docs/server/server-management/variables-and-modes/server-system-variables.md#character_set_system)         | utf8              | utf8mb3           |
| [innodb\_flush\_method](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_flush_method)             | fsync             | O\_DIRECT         |
| [old\_mode](/docs/server/server-management/variables-and-modes/server-system-variables.md#old_mode)                                  | Empty             | UTF8\_IS\_UTF8MB3 |

#### 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                                                                                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [innodb\_adaptive\_max\_sleep\_delay](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_adaptive_max_sleep_delay)                          |                                                                                                                                                                                                                      |
| [innodb\_background\_scrub\_data\_check\_interval](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_background_scrub_data_check_interval) |                                                                                                                                                                                                                      |
| [innodb\_background\_scrub\_data\_compressed](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_background_scrub_data_compressed)          |                                                                                                                                                                                                                      |
| [innodb\_background\_scrub\_data\_interval](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_background_scrub_data_interval)              |                                                                                                                                                                                                                      |
| [innodb\_background\_scrub\_data\_uncompressed](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_background_scrub_data_uncompressed)      |                                                                                                                                                                                                                      |
| [innodb\_buffer\_pool\_instances](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_buffer_pool_instances)                                 |                                                                                                                                                                                                                      |
| [innodb\_checksum\_algorithm](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_checksum_algorithm)                                        | The variable is still present, but the \*innodb and \*none options have been removed as the crc32 algorithm only is supported from [MariaDB 10.6](/docs/release-notes/community-server/10.6/what-is-mariadb-106.md). |
| [innodb\_commit\_concurrency](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_commit_concurrency)                                        |                                                                                                                                                                                                                      |
| [innodb\_concurrency\_tickets](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_concurrency_tickets)                                      |                                                                                                                                                                                                                      |
| [innodb\_file\_format](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_file_format)                                                      |                                                                                                                                                                                                                      |
| [innodb\_large\_prefix](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_large_prefix)                                                    |                                                                                                                                                                                                                      |
| [innodb\_lock\_schedule\_algorithm](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_lock_schedule_algorithm)                             |                                                                                                                                                                                                                      |
| [innodb\_log\_checksums](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_log_checksums)                                                  |                                                                                                                                                                                                                      |
| [innodb\_log\_compressed\_pages](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_log_compressed_pages)                                   |                                                                                                                                                                                                                      |
| [innodb\_log\_files\_in\_group](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_log_files_in_group)                                      |                                                                                                                                                                                                                      |
| [innodb\_log\_optimize\_ddl](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_log_optimize_ddl)                                           |                                                                                                                                                                                                                      |
| [innodb\_page\_cleaners](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_page_cleaners)                                                  |                                                                                                                                                                                                                      |
| [innodb\_replication\_delay](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_replication_delay)                                          |                                                                                                                                                                                                                      |
| [innodb\_scrub\_log](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_scrub_log)                                                          |                                                                                                                                                                                                                      |
| [innodb\_scrub\_log\_speed](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_scrub_log_speed)                                             |                                                                                                                                                                                                                      |
| [innodb\_sync\_array\_size](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_sync_array_size)                                             |                                                                                                                                                                                                                      |
| [innodb\_thread\_concurrency](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_thread_concurrency)                                        |                                                                                                                                                                                                                      |
| [innodb\_thread\_sleep\_delay](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_thread_sleep_delay)                                       |                                                                                                                                                                                                                      |
| [innodb\_undo\_logs](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_undo_logs)                                                          |                                                                                                                                                                                                                      |

#### 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                                                                                                   |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [wsrep\_replicate\_myisam](/docs/galera-cluster/reference/galera-cluster-system-variables.md#wsrep_replicate_myisam) | Use [wsrep\_mode](/docs/galera-cluster/reference/galera-cluster-system-variables.md#wsrep_mode) instead. |
| [wsrep\_strict\_ddl](/docs/galera-cluster/reference/galera-cluster-system-variables.md#wsrep_strict_ddl)             | Use [wsrep\_mode](/docs/galera-cluster/reference/galera-cluster-system-variables.md#wsrep_mode) instead. |

### Major New Features To Consider

* See also [System Variables Added in MariaDB 10.6](/docs/server/ha-and-performance/optimization-and-tuning/system-variables/system-and-status-variables-added-by-major-release/system-variables-added-in-mariadb-10-6.md).

### See Also

* [Features in MariaDB 10.6](/docs/release-notes/community-server/10.6/what-is-mariadb-106.md)
* [Upgrading from MariaDB 10.5 to MariaDB 10.6 with Galera Cluster](/docs/galera-cluster/galera-management/upgrading-galera-cluster/upgrading-from-mariadb-10-5-to-mariadb-10-6-with-galera-cluster.md)
* [Upgrading from MariaDB 10.4 to MariaDB 10.5](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-to-unmaintained-mariadb-releases/upgrading-from-mariadb-10-4-to-mariadb-10-5.md)
* [Upgrading from MariaDB 10.3 to MariaDB 10.4](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-to-unmaintained-mariadb-releases/upgrading-from-mariadb-103-to-mariadb-104.md)
* [Upgrading from MariaDB 10.2 to MariaDB 10.3](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-to-unmaintained-mariadb-releases/upgrading-from-mariadb-102-to-mariadb-103.md)

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

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


---

# 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://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-10-5-to-mariadb-10-6.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.
