> 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-11-8-to-mariadb-12-3.md).

# Upgrading from MariaDB 11.8 to MariaDB 12.3

Upgrade guide for moving from MariaDB 11.8 to 12.3, covering the upgrade procedure, removed options, and replication caveats.

This page includes details for upgrading from [MariaDB 11.8](/docs/release-notes/community-server/11.8/what-is-mariadb-118.md), the previous long-term maintenance version, to [MariaDB 12.3](/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements.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).

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 12.3.
   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 11.8 and 12.3

On most servers upgrading from 11.8 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                                                                                                                                                                                                               |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [big\_tables](/docs/server/server-management/variables-and-modes/server-system-variables.md)       | Deprecated in MariaDB 10.5.0 and removed in MariaDB 12.0. No longer needed, as the server handles large result sets automatically.                                                                                   |
| [storage\_engine](/docs/server/server-management/variables-and-modes/server-system-variables.md)   | Deprecated alias for `default_storage_engine` since MariaDB 5.5, and removed in MariaDB 12.0. Use [default\_storage\_engine](/docs/server/server-management/variables-and-modes/server-system-variables.md) instead. |
| [large\_page\_size](/docs/server/server-management/variables-and-modes/server-system-variables.md) | Read-only variable deprecated in MariaDB 10.5.3 and removed in MariaDB 12.0.                                                                                                                                         |

#### New Reserved Words

`CONVERSION` and `TO_DATE` are now [reserved words](/docs/server/reference/sql-structure/sql-language-structure/reserved-words.md). This only affects you if you use one of them as an unquoted identifier (for example, a table, column, or variable name) — quote it or rename it before upgrading, otherwise the statement will fail to parse. For the full list of 12.3 changes, see [Features in MariaDB 12.3](/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements.md).

#### Changes in Replication Behavior

{% hint style="warning" %}
When upgrading a replica from a pre-12.3 release to MariaDB 12.3.2, the [CHANGE MASTER TO ... master\_use\_gtid](/docs/server/reference/sql-statements/administrative-sql-statements/replication-statements/change-master-to.md) setting is not carried over and is reset to `DEFAULT`. This is fixed in 12.3.3 via [MDEV-39788](https://jira.mariadb.org/browse/MDEV-39788). After upgrading, check the replication configuration and re-apply `master_use_gtid` if you rely on it. Downgrading is not affected.
{% endhint %}

#### Deprecated Options

The `MYSQLD_OPTS` environment variable for the systemd service is deprecated. Place configuration options directly into [option files](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md), such as `my.cnf`, instead.

### See Also

* [Features in MariaDB 12.3](/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements.md)
* [Features in MariaDB 11.8](/docs/release-notes/community-server/11.8/what-is-mariadb-118.md)
* [Upgrading from MariaDB 11.8 to MariaDB 12.3 with Galera Cluster](/docs/galera-cluster/galera-management/upgrading-galera-cluster/upgrading-from-mariadb-10.11-to-mariadb-11.4-with-galera-cluster-2.md)
* [Upgrading from MariaDB 11.4 to MariaDB 11.8](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-11-4-to-mariadb-11-8.md)
* [Upgrading from MariaDB 10.11 to MariaDB 11.4](/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-10-11-to-mariadb-11-4.md)

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

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