In this tutorial we are going to provide you with step-by-step instructions on how to upgrade MariaDB on a CentOS 7 VPS. MariaDB is an open source, community-developed fork of the MySQL relational database management system. MariaDB is highly compatible with MySQL, ensuring exact matching with MySQL commands and APIs.
The upgrade process should take about 10 minutes if you follow the easy steps described below.
In order to check the current MariaDB version installed on your server, run the following command:
mysql -V mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
Upgrade MariaDB from 5.5.x version to 10.2.x version
Before starting with the upgrade procedure, create a backup of your MariaDB databases:
mysqldump -uroot -p --all-databases > /opt/database-dump.sql
Stop the MariaDB service with the following command:
systemctl stop mariadb
Remove MariaDB 5.5.x packages:
yum remove mariadb mariadb-server mariadb-libs
Removing: mariadb x86_64 1:5.5.56-2.el7 @base 49 M mariadb-libs x86_64 1:5.5.56-2.el7 @base 4.4 M mariadb-server x86_64 1:5.5.56-2.el7 @base 58 M Removing for dependencies: net-snmp x86_64 1:5.7.2-28.el7 @base 850 k perl-DBD-MySQL x86_64 4.023-5.el7 @base 323 k php-mysql x86_64 5.4.16-42.el7 @base 232 k postfix x86_64 2:2.10.1-6.el7 @base 12 M Transaction Summary =================================================================================================================================================================================================================== Remove 3 Packages (+4 Dependent packages) Installed size: 125 M Is this ok [y/N]: y ... Removed: mariadb.x86_64 1:5.5.56-2.el7 mariadb-libs.x86_64 1:5.5.56-2.el7 mariadb-server.x86_64 1:5.5.56-2.el7 Dependency Removed: net-snmp.x86_64 1:5.7.2-28.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7 php-mysql.x86_64 0:5.4.16-42.el7 postfix.x86_64 2:2.10.1-6.el7 Complete!
Add a new MariaDB repository:
vi /etc/yum.repos.d/mariadb.repo
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Clean the repository cache on your server with:
yum clean all
Install MariaDB 10.2
Install MariaDB 10.2.x version using the following command:
yum install MariaDB-client MariaDB-server
Installing: MariaDB-server x86_64 10.2.9-1.el7.centos mariadb 108 M Installing for dependencies: MariaDB-client x86_64 10.2.9-1.el7.centos mariadb 48 M MariaDB-common x86_64 10.2.9-1.el7.centos mariadb 155 k MariaDB-compat x86_64 10.2.9-1.el7.centos mariadb 2.8 M boost-program-options x86_64 1.53.0-27.el7 base 156 k galera x86_64 25.3.20-1.rhel7.el7.centos mariadb 8.0 M Transaction Summary =================================================================================================================================================================================================================== Install 1 Package (+5 Dependent packages) Total download size: 167 M Installed size: 708 M Is this ok [y/d/N]: y ... Installed: MariaDB-server.x86_64 0:10.2.9-1.el7.centos Dependency Installed: MariaDB-client.x86_64 0:10.2.9-1.el7.centos MariaDB-common.x86_64 0:10.2.9-1.el7.centos MariaDB-compat.x86_64 0:10.2.9-1.el7.centos boost-program-options.x86_64 0:1.53.0-27.el7 galera.x86_64 0:25.3.20-1.rhel7.el7.centos Complete!
Please note, you need to install Postfix and php-mysql packages if you used them prior this upgrade, so run:
yum install postfix php-mysql
Enable MariaDB service to automatically start on server boot:
systemctl enable mariadb
Start the MariaDB service:
systemctl start mariadb
Run the mysql_upgrade command-line command to examine all tables in all MariaDB databases for incompatibilities with the currently installed version of the MariaDB server:
mysql_upgrade
If everything is OK, check the currently installed MariaDB version with:
mysql -V mysql Ver 15.1 Distrib 10.2.9-MariaDB, for Linux (x86_64) using readline 5.1
Set the MariaDB root user password and secure MariaDB
There is no MariaDB root user password set by default. Use the following command to set a new MariaDB root user password, remove the anonymous users, secure MariaDB by restricting the remote login for root user and remove the test database.
mysql_secure_installation
That is it. MariaDB has been successfully installed on your server.
If you use one of our Linux Host Support services, you can simply ask our expert Linux admins to upgrade MariaDB on your CentOS 7 server for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.
This is so nice blog.You explain how to upgrade mariadb is very well. This information is so helpful for all students. Thanks for sharing with us!!!!
nice! Worked seamlessly on my development DB and then my Prod DB. The only thing I changed was the line in the repo point to “baseurl = http://yum.mariadb.org/10.2/centos7-amd64”. I changed it to reflect 10.3 ( Latest at this time ). Mariadb came right up no problems.
Great tutorial. Thank you … I have just manage to update php from 5.6 to 7 & mariadb to 10.0
use mysql_upgrade -u root -p instead of mysql_upgrade if you have any errors like “Version check failed. Got the following error when calling the ‘mysql’ command line client
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
FATAL ERROR: Upgrade failed”