Migrating from MariaDB 10.3.x MariaDB 10.6.x¶
Notable Differences¶
Binary Name Changes¶
All binaries previously beginning with mysql now begin with mariadb, with symlinks for the corresponding mysql command.
Usually that shouldn’t cause any changed behavior, but when starting the MariaDB server via the mysqld_safe script symlink, the server process will now always be started as mariadbd, not mysqld.
So anything looking for the mysqld name in the system process list, like e.g. monitoring solutions, now needs to check for mariadbd instead when the server / service is not started directly, but via mysqld_safe or as a system service.
Unix Socket Authentication¶
Since 10.4 MariaDB, switched to use the unix_socket authentication plugin is now default on Unix-like systems. On IBM i this is disabled due to limitations in PASE.
Reserved Word¶
New reserved word: OFFSET. This can no longer be used as an identifier 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 variable to OFF to make the tables writable.
Character Sets¶
From MariaDB 10.6, the utf8 character set (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 system variable.
NOTE: For IBM builds the default character set and collations are set to utf8mb4 by default.
Disks Plugin¶
The disk plugin as is now enabled by default and seems to function well.
For full list of changes take a look at MariaDB upgrading docs:¶
https://mariadb.com/kb/en/upgrading-from-mariadb-103-to-mariadb-104/#incompatible-changes-between-103-and-104
https://mariadb.com/kb/en/upgrading-from-mariadb-104-to-mariadb-105/#incompatible-changes-between-104-and-105
https://mariadb.com/kb/en/upgrading-from-mariadb-10-5-to-mariadb-10-6/#incompatible-changes-between-105-and-106
Also checkout the MariaDB 10.6 release notes for more info.
Migration Steps¶
MariaDB 10.6 conflicts with and is not co-installable with MariaDB 10.3.
Backup your existing data using mysqldump
# you will be prompted to enter the password mysqldump --all-databases --routines --events --user root --password > db.bak
Stop the MariaDB Server
# you will be prompted to enter the password mysqladmin shutdown --user root --password
Remove MariaDB 10.3.x packages
yum remove mariadb-server mariadb
Install MariaDB 10.6.x packages
yum install mariadb-10.6-server mariadb-10.6
Start MariaDB 10.6.x Server
mariadbd-safe & # NOTE: If IPv6 is disabled you will need to explicitly set the bind address # For example: # mariadbd-safe --bind-address=0.0.0.0 & # Refer to the MariaDB docs for more info # https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/ # https://mariadb.com/kb/en/server-system-variables/#bind_address
Run
mariadb-upgrade
# you will be prompted to enter the password mariadb-upgrade --user root --password