Upgrading MariaDB from version 5.5.64 to 10.5.2
In this article we’re going to cover the upgrade of MariaDB from its current version 5.5.64 to the newest 10.5.2, as you probably know we’re running LAMP using CentOS 7 as the host OS, and MariaDB was installed using YUM,
MariaDB current version
By default YUM always install the stable version of MariaDB, at the moment of the installation that version was 5.5.64, you can check the current version of MariaDB using the following CLI command.
mysql --version
Step 1 – Update your system
As the best practices dictate, it’s always a good idea to make sure your system is up to date, you can update CentOS 7 using the CLI command below.
yum -y update
Step 2 – Stop MariaDB
Stopping MariaDB is mandatory to avoid ending up with an inconsistent state afterwards, this step also allows us to make a backup of the database directory that is the next step.
systemctl stop mariadb
Step 3 – Create a new directory
In our case we’re creating our first backup and because of that we’re going to create a folder where this and future backups will be saved, you can use “mkdir” command as follow adapting it to your own preferences.
mkdir /opt/daniel_mariadb-backups
Step 4 – Run the backup command
Here once again we’ve decided to include the date on each backup, feel free to reuse the following CLI command and adapt it ot your own needs.
tar cfvz /opt/daniel_mariadb-backups/daniel_mariadb-$(date +%F).tar.gz /var/lib/mysql/*
Step 5 – create repo file
We’re going to use the Tee command to create the repo file in just one step, see below.
tee /etc/yum.repos.d/MariaDB.repo<<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
EOF
Step 6 – Upgrade
You’ve probably noticed in the repo file the new version of MariaDB that is going to be installed, in case you don’t it is 10.5, use the following CLI command to start the upgrade.
yum -y upgrade maria*
MariaDB upgrade log
[root@centos7 ~]# yum -y upgrade maria*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.turbozoneinternet.net.br
* epel: mirror.coastal.edu
* extras: mirror.turbozoneinternet.net.br
* remi-php73: mirror.reconn.ru
* remi-safe: mirror.reconn.ru
* updates: centos.brisanet.com.br
mariadb | 2.9 kB 00:00:00
mariadb/primary_db | 55 kB 00:00:16
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-client.x86_64 0:10.5.2-1.el7.centos will be obsoleting
--> Processing Dependency: MariaDB-common for package: MariaDB-client-10.5.2-1.el7.centos.x86_64
--> Processing Dependency: libpcre2-8.so.0()(64bit) for package: MariaDB-client-10.5.2-1.el7.centos.x86_64
---> Package MariaDB-compat.x86_64 0:10.5.2-1.el7.centos will be obsoleting
---> Package MariaDB-server.x86_64 0:10.5.2-1.el7.centos will be obsoleting
--> Processing Dependency: galera-4 for package: MariaDB-server-10.5.2-1.el7.centos.x86_64
---> Package mariadb.x86_64 1:5.5.64-1.el7 will be obsoleted
---> Package mariadb-libs.x86_64 1:5.5.64-1.el7 will be obsoleted
---> Package mariadb-server.x86_64 1:5.5.64-1.el7 will be obsoleted
--> Running transaction check
---> Package MariaDB-common.x86_64 0:10.5.2-1.el7.centos will be installed
---> Package galera-4.x86_64 0:26.4.4-1.rhel7.el7.centos will be installed
---> Package pcre2.x86_64 0:10.23-2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================
Installing:
MariaDB-client x86_64 10.5.2-1.el7.centos mariadb 12 M
replacing mariadb.x86_64 1:5.5.64-1.el7
MariaDB-compat x86_64 10.5.2-1.el7.centos mariadb 2.2 M
replacing mariadb-libs.x86_64 1:5.5.64-1.el7
MariaDB-server x86_64 10.5.2-1.el7.centos mariadb 26 M
replacing mariadb-server.x86_64 1:5.5.64-1.el7
Installing for dependencies:
MariaDB-common x86_64 10.5.2-1.el7.centos mariadb 81 k
galera-4 x86_64 26.4.4-1.rhel7.el7.centos mariadb 9.5 M
pcre2 x86_64 10.23-2.el7 base 201 k
Transaction Summary
=====================================================================================================================================
Install 3 Packages (+3 Dependent packages)
Total download size: 51 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/mariadb/packages/MariaDB-common-10.5.2-1.el7.centos.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Public key for MariaDB-common-10.5.2-1.el7.centos.x86_64.rpm is not installed
(1/6): MariaDB-common-10.5.2-1.el7.centos.x86_64.rpm | 81 kB 00:00:16
(2/6): MariaDB-compat-10.5.2-1.el7.centos.x86_64.rpm | 2.2 MB 00:00:01
(3/6): MariaDB-client-10.5.2-1.el7.centos.x86_64.rpm | 12 MB 00:00:19
(4/6): galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm | 9.5 MB 00:00:02
(5/6): MariaDB-server-10.5.2-1.el7.centos.x86_64.rpm | 26 MB 00:00:12
(6/6): pcre2-10.23-2.el7.x86_64.rpm | 201 kB 00:00:15
-------------------------------------------------------------------------------------------------------------------------------------
Total 1.4 MB/s | 51 MB 00:00:35
Retrieving key from https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Importing GPG key 0x1BB943DB:
Userid : "MariaDB Package Signing Key <package-signing-key@mariadb.org>"
Fingerprint: 1993 69e5 404b d5fc 7d2f e43b cbcb 082a 1bb9 43db
From : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : MariaDB-compat-10.5.2-1.el7.centos.x86_64 1/9
Installing : MariaDB-common-10.5.2-1.el7.centos.x86_64 2/9
Installing : pcre2-10.23-2.el7.x86_64 3/9
Installing : MariaDB-client-10.5.2-1.el7.centos.x86_64 4/9
Installing : galera-4-26.4.4-1.rhel7.el7.centos.x86_64 5/9
Installing : MariaDB-server-10.5.2-1.el7.centos.x86_64 6/9
Erasing : 1:mariadb-server-5.5.64-1.el7.x86_64 7/9
warning: /var/log/mariadb/mariadb.log saved as /var/log/mariadb/mariadb.log.rpmsave
Erasing : 1:mariadb-5.5.64-1.el7.x86_64 8/9
Erasing : 1:mariadb-libs-5.5.64-1.el7.x86_64 9/9
Verifying : pcre2-10.23-2.el7.x86_64 1/9
Verifying : MariaDB-server-10.5.2-1.el7.centos.x86_64 2/9
Verifying : MariaDB-common-10.5.2-1.el7.centos.x86_64 3/9
Verifying : MariaDB-client-10.5.2-1.el7.centos.x86_64 4/9
Verifying : MariaDB-compat-10.5.2-1.el7.centos.x86_64 5/9
Verifying : galera-4-26.4.4-1.rhel7.el7.centos.x86_64 6/9
Verifying : 1:mariadb-libs-5.5.64-1.el7.x86_64 7/9
Verifying : 1:mariadb-5.5.64-1.el7.x86_64 8/9
Verifying : 1:mariadb-server-5.5.64-1.el7.x86_64 9/9
Installed:
MariaDB-client.x86_64 0:10.5.2-1.el7.centos MariaDB-compat.x86_64 0:10.5.2-1.el7.centos
MariaDB-server.x86_64 0:10.5.2-1.el7.centos
Dependency Installed:
MariaDB-common.x86_64 0:10.5.2-1.el7.centos galera-4.x86_64 0:26.4.4-1.rhel7.el7.centos pcre2.x86_64 0:10.23-2.el7
Replaced:
mariadb.x86_64 1:5.5.64-1.el7 mariadb-libs.x86_64 1:5.5.64-1.el7 mariadb-server.x86_64 1:5.5.64-1.el7
Complete!
Step 7 – Restart MariaDB
systemctl restart mariadb
Step 8 – Check MariaDB status
systemctl status mariadb
Step 9 – Enable MariaDB at boot
systemctl enable mariadb
Step 10 – Check MariaDB new version
mysql --version