mariadb 10.4.x update requires manual intervention

The update to mariadb 10.4.6-1 and later changes configuration layout as recommended by upstream.

The main configuration file moved from /etc/mysql/my.cnf (and its include directory /etc/mysql/my.cnf.d/) to /etc/my.cnf (and /etc/my.cnf.d/). Make sure to move your configuration.

Instantiated services (like mariadb@foo.service) are no longer configured in separate files (like /etc/mysql/myfoo.cnf). Instead move your configuration to configuration blocks with group suffix in main configuration file, one for each service. A block should look something like this:

[mysqld.foo]
datadir = /var/lib/mysql-foo
socket = /run/mysqld/mysqld-foo.sock
...

Like every mariadb feature update this requires the data directory to be updated. With the new configuration in place run:

systemctl restart mariadb.service && mariadb-upgrade -u root -p