MariaDB 12.3 is the long-term-support release of the 12.x series, published on 28 May 2026 and supported until June 2029. It rolls up everything from 12.0, 12.1 and 12.2, which means the change list is larger than a normal LTS-to-LTS step. Most of it is additive and harmless to a hosting server. A short list is not: two new reserved words, three removed system variables, a new default-capable authentication plugin and a packaging change for Galera. This guide separates the two so you know what to test.
Applies to MariaDB 12.3 LTS; DirectAdmin CustomBuild 1.696+
Table of Contents
Short answer: MariaDB 12.3 adds Oracle-compatibility syntax, an XML type, optimizer hints, a segmented Aria key cache and mariadb-dump -L wildcards, none of which affect a typical hosted application. What breaks is short: CONVERSION and TO_DATE are now reserved words, big_tables, large_page_size and storage_engine abort startup if left in my.cnf, duplicate foreign key names on one table are rejected, accounts on caching_sha2_password need modern client libraries, and Galera nodes must install galera-4 separately or they silently fail to rejoin the cluster.
What is new and safe to ignore at first
The additions are aimed at people migrating from Oracle and at application developers:
- Oracle-compatibility mode extensions: the
+outer-join syntax,TO_DATE,TO_NUMBER, associative arrays andSYS_REFCURSORin stored procedures. - An XML data type.
- Optimizer hints in the
/*+ ... */comment style, which give a per-query way to force or forbid index use without changing the schema. - A segmented Aria key cache, which helps servers with many concurrent reads on Aria tables (cPanel’s own
cpanel*schemas and many phpMyAdmin control tables are Aria). - Additional
ST_*GIS functions. - The
ssl_passphraseoption for encrypted private keys. mariadb-dump -Lwildcard database selection, introduced in 12.1, covered in our mariadb-dump guide.
None of these change behaviour for a customer’s WordPress or Laravel install. Read the changelog for the full list, then move on to what can break.
Reserved words: CONVERSION and TO_DATE
12.3 reserves CONVERSION and TO_DATE. Any customer schema with a column or table named conversion (marketing databases love this word) will produce a syntax error on every unquoted reference after the upgrade. Find them before upgrading:
mariadb -N -e "SELECT CONCAT(TABLE_SCHEMA,'.',TABLE_NAME,'.',COLUMN_NAME) FROM information_schema.COLUMNS WHERE COLUMN_NAME IN ('conversion','to_date');"
mariadb -N -e "SELECT CONCAT(TABLE_SCHEMA,'.',TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_NAME IN ('conversion','to_date');"
The fix is on the application side: backtick-quote the identifier. The schema does not need to change, but the queries do, and that means the customer’s code. Tell them before the upgrade rather than after. The same class of problem hit ROW_NUMBER in 10.7; if a server skipped from 10.6 straight to 12.3, check for that one too.
Removed variables: big_tables, large_page_size, storage_engine
These were deprecated long ago and are gone in 12.3. If any appears in my.cnf the server refuses to start:
grep -E '^\s*(big_tables|large_page_size|storage_engine|default_storage_engine\s*=\s*MyISAM)' /etc/my.cnf /etc/my.cnf.d/*.cnf
storage_engine is the one that lingers, because a decade ago every tuning guide suggested it. Replace it with default_storage_engine if you need to set a default at all. The earlier removals that also matter on a long hop (innodb_log_write_ahead_size, wsrep_strict_ddl, keep_files_on_create) are covered in the unknown variable guide.
Foreign key names must be unique per table
12.3 enforces that two foreign keys on the same table cannot share a name. Old schemas created by sloppy migration tools sometimes have this, and mariadb-upgrade will report the affected tables. Find them ahead of time:
mariadb -N -e "SELECT TABLE_SCHEMA, TABLE_NAME, CONSTRAINT_NAME, COUNT(*) FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='FOREIGN KEY' GROUP BY 1,2,3 HAVING COUNT(*)>1;"
Each needs an ALTER TABLE ... DROP FOREIGN KEY and re-add with a distinct name, done by the customer or with their agreement.
caching_sha2_password
12.1 introduced the caching_sha2_password authentication plugin, the same one MySQL 8 made its default. In 12.3 it is available, and whether new accounts land on it depends on the server’s default plugin setting, which some packaged configurations and panel account-creation paths override. Check what your server actually does rather than assuming:
mariadb -e "SHOW GLOBAL VARIABLES LIKE 'default_authentication_plugin';"
mariadb -e "SELECT user, host, plugin FROM mysql.user WHERE plugin='caching_sha2_password';"
Accounts on the new plugin need a client library that speaks it and a TLS or RSA-exchanged first connection. Old PHP builds, some Perl DBD::mysql versions and any tool built against libmysqlclient 5.7 fail with an authentication plugin error. Our caching_sha2_password guide covers the fixes. On a shared server, leave the default alone until every PHP version you offer has been tested against it.
Galera is a separate package
From 12.x the Galera provider library is no longer pulled in by the server package. On a standalone node this is invisible. On a Galera cluster, upgrading a node without also installing galera-4 produces a server that starts fine and silently never rejoins the cluster:
rpm -q galera-4 || dnf install -y galera-4
mariadb -e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';"
Confirm the cluster size before and after each node.
Panel availability. DirectAdmin’s CustomBuild has offered 12.3 since 1.696 and steps through LTS versions on the way, as in our DirectAdmin upgrade guide. cPanel does not offer 12.3 in WHM yet; 11.8 is the ceiling there as of late September 2026, and running an unsupported version by hand on a cPanel server breaks the panel’s own upgrade and repair tooling.
Verify
After the upgrade:
mariadb -e "SELECT VERSION();"
mariadb-upgrade
mariadb-check --all-databases --check-upgrade | grep -vE 'OK$'
tail -50 /var/lib/mysql/$(hostname).err | grep -iE 'error|warn|unknown'
Then take a handful of the busiest customer sites and load their front and admin pages while watching the error log. A common pitfall is declaring success because the service started; the reserved-word breakage only appears when a specific query runs, sometimes days later in a monthly report. If any schema turned up in the conversion search above, test that application specifically.
MariaDB 12.3 LTS at a glance

Official documentation: MariaDB documentation, Linux man pages.
Related guides: Upgrading MariaDB safely on DirectAdmin: 10.6 → 10.11 → 11.8 → 12.3 with CustomBuild · Converting MySQL to MariaDB (and why in-place switching is no longer supported) · Upgrading MariaDB in WHM safely: backups, slow shutdown and mariadb-upgrade.
Frequently asked questions
Is MariaDB 12.3 available in cPanel and WHM?
Not as of late September 2026; 11.8 is the highest version in the WHM upgrade workflow. DirectAdmin’s CustomBuild has offered 12.3 since 1.696. Installing 12.3 by hand on a cPanel server breaks the panel’s upgrade and repair tooling, so wait for WHM support there.
Does MariaDB 12.3 change the default authentication plugin?
The caching_sha2_password plugin is available, but whether new accounts land on it depends on the server’s default_authentication_plugin setting, which packaged configurations and panel account-creation paths can override. Check SHOW GLOBAL VARIABLES LIKE 'default_authentication_plugin' and leave the default alone on shared servers until every PHP version is tested.
Why does a query with a column named conversion fail after upgrading to 12.3?
Because CONVERSION and TO_DATE became reserved words. Any unquoted reference to a table or column with either name is now a syntax error. The schema can stay as it is; the application’s queries must backtick-quote the identifier.
Maintenance record
This guide changes servers, data or security settings, so we re-check it against current versions on a fixed schedule. Take a backup or snapshot before you start.
- Maintained by
- srvScripts editorial team
- Supported versions
- MariaDB 12.3 LTS; DirectAdmin CustomBuild 1.696+
- Last full review
- Next review
- Sources
- mariadb.com/docs