Install MariaDB 10.5 on CentOS 8 | CentOS 7

The
You can support us by downloading this article in PDF format via the link below.

Download the guide in PDF format

turn off
The

The
The

In this article, we will study how to install MariaDB 10.5 on CentOS 8. CentOS 7 Linux machine. MariaDB is a community branch of MySQL relational database management system with huge community support. The stable version of MariaDB 10.5 was released in June 2020 and will be supported until June 2025. New features in MariaDB 10.5 From the change page. The software can be used free of charge under the GNU General Public License version 2.

If you want to upgrade from other versions (such as 10.4) Check official upgrade Guide and pay attention to the differences between the two versions of MariaDB. This is very important for production use cases that have used custom variables to adjust the database and ensure transaction efficiency.

Install MariaDB 10.5 on CentOS 8 | CentOS 7

The MariaDB team provides the latest software packages for various Linux versions for the maintained repository. For CentOS, we will use the YUM repository.

Step 1: Add MariaDB YUM repository

Run the following command to add the repository provided by MariaDB to the CentOS server.

Add the repository to CentOS 8:

sudo tee /etc/yum.repos.d/mariadb.repo<

Add the repository to CentOS 7:

sudo tee /etc/yum.repos.d/mariadb.repo<

Confirm that the repository is running by updating the cache.

sudo yum makecache

List available repositories:

$ sudo yum repolist
repo id                                                                    repo name
AppStream                                                                  CentOS-8 - AppStream
BaseOS                                                                     CentOS-8 - Base
extras                                                                     CentOS-8 - Extras
mariadb                                                                    MariaDB

Step 2: Install MariaDB 10.5 on CentOS 8. CentOS 7

After adding the repository and confirming its normal operation, we can proceed to install MariaDB 10.5 on the CentOS 8 / CentOS 7 Linux machine.

sudo yum install MariaDB-server MariaDB-client

You can check the list of packages to be installed and agree whether they can be installed.

.....
Installing weak dependencies:
 perl-IO-Socket-IP                         noarch                    0.39-5.el8                                              AppStream                     47 k
 perl-IO-Socket-SSL                        noarch                    2.066-4.el8                                             AppStream                    297 k
 perl-Mozilla-CA                           noarch                    20160104-7.el8                                          AppStream                     15 k
Enabling module streams:
 perl                                                                5.26                                                                                      
 perl-DBI                                                            1.641                                                                                     

Transaction Summary
================================================================================================================================================================
Install  54 Packages

Total download size: 67 M
Installed size: 298 M
Is this ok [y/N]: y

When prompted, also agreed to import the GPG key.

.....
Importing GPG key 0x1BB943DB:
 Userid     : "MariaDB Package Signing Key <[email protected]>"
 Fingerprint: 1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB
 From       : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Is this ok [y/N]: y

RPM software package details:

$ rpm -qi  MariaDB-server
Name        : MariaDB-server
Version     : 10.5.4
Release     : 1.el8
Architecture: x86_64
Install Date: Sun 28 Jun 2020 07:21:20 PM CEST
Group       : Applications/Databases
Size        : 132807324
License     : GPLv2
Signature   : DSA/SHA1, Tue 23 Jun 2020 11:03:04 PM CEST, Key ID cbcb082a1bb943db
Source RPM  : MariaDB-server-10.5.4-1.el8.src.rpm
Build Date  : Tue 23 Jun 2020 06:59:51 PM CEST
Build Host  : rhel8-amd64
Relocations : (not relocatable)
Vendor      : MariaDB Foundation
URL         : http://mariadb.org
....

Step 3: Start MariaDB service on CentOS 8 | CentOS 7

Both CentOS 8 and CentOS 7 use Systemd to initialize the system. We can use the systemctl command to start the service, as shown below.

sudo systemctl start mariadb

To enable the service to start when the server is restarted, use the following command:

$ sudo systemctl enable mariadb
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

Use the systemctl status command to check the service status:

$ systemctl status mariadb
● mariadb.service - MariaDB 10.5.4 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Sun 2020-06-28 19:34:56 CEST; 1min 35s ago
     Docs: man:mariadbd(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 4328 (mariadbd)
   Status: "Taking your SQL requests now..."
    Tasks: 9 (limit: 24392)
   Memory: 67.7M
   CGroup: /system.slice/mariadb.service
           └─4328 /usr/sbin/mariadbd

Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: 10.5.4 started; log sequence number 45041; transaction id 21
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Plugin 'FEEDBACK' is disabled.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: Buffer pool(s) load completed at 200628 19:34:56
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Server socket created on IP: '::'.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Reading of all Master_info entries succeeded
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Added new Master_info '' to hash table
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] /usr/sbin/mariadbd: ready for connections.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: Version: '10.5.4-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
Jun 28 19:34:56 centos.computingforgeeks.com systemd[1]: Started MariaDB 10.5.4 database server.
...

If you need other systems on the network to access the database server, please allow port 3306:

sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload

For the remote connection to work properly, the service should listen to the IP address, not the localhost loopback interface.

# Listen on specific IP address in the server
bind-address=172.21.200.12

# Listen on all available interfaces
bind-address=0.0.0.0

Step 4: Secure MariaDB database on CentOS 8 | CentOS 7

Provides scripts for strengthening MariaDB database server. This script can help you:

  • Set root password
  • Delete anonymous database users
  • Forbid logging in to the remote database as the root user
  • Delete the test database

To start the database hardening process, run the following command.

$ sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Test login as the root user (without password):

$ mysql -u root 

You should receive an access denied error:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Now try and provide the password as the root user:

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 24
Server version: 10.5.4-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> SELECT VERSION();
+----------------+
| VERSION()      |
+----------------+
| 10.5.4-MariaDB |
+----------------+
1 row in set (0.001 sec)

MariaDB [(none)]> QUIT
Bye

The database server is now ready to use. The only other setting you may need is to adjust it to the best performance based on your application requirements and use cases. This is beyond the scope of this guide.

Video courses on databases.


Ultimate MySQL Bootcamp: From SQL beginner to expert

★★★★★
(41290)

$ 16.93

$ 169.25

In stock

Buy now

Install MariaDB 10.5 on CentOS 8 | CentOS 7Udemy.com


Complete SQL Bootcamp 2020: from zero to hero

Complete SQL Bootcamp 2020: from zero to hero

★★★★★
(69642)

$ 18.05

$ 186.17

In stock

Buy now

Install MariaDB 10.5 on CentOS 8 | CentOS 7Udemy.com


SQL for beginners: Use MySQL and database design to learn SQL

SQL for beginners: Use MySQL and database design to learn SQL

★★★★☆
(4647)

$ 14.67

$ 112.83

In stock

Buy now

Install MariaDB 10.5 on CentOS 8 | CentOS 7Udemy.com

You can support us by downloading this article in PDF format via the link below.

Download the guide in PDF format

turn off
The

The
The

Sidebar