Cài đặt MariaDB 10.7 trên CentOS 7 - Install MariaDB 10.7 CentOS 7

CentOS 7 đã được ra mắt từ năm 2014, và sẽ được hỗ trợ cho đến năm 2024. Dự án CentOS tuân theo các phiên bản mã nguồn gốc RHEL với các phiên bản nhị phân cộng đồng được xây dựng vài tháng sau đó. MariaDB Database Server có thể được cài đặt trên cả máy chủ Linux RHEL 7 và CentOS 7. MariaDB là một dự án cơ sở dữ liệu mã nguồn mở và thành công được tạo ra từ MySQL. Nó được hỗ trợ bởi hàng trăm đến hàng ngàn người đóng góp mã nguồn mở và một số công ty. Trong hướng dẫn này, chúng ta sẽ install MariaDB 10.7 trên hệ thống CentOS 7. Lưu ý rằng đây là cài đặt máy chủ cơ sở dữ liệu một nút bằng MariaDB.

Lưu ý: Đảm bảo đang không chạy bất kỳ hệ thống quản lý cơ sở dữ liệu dựa trên MySQL nào khác. Nếu không, bạn cần phải gỡ cài đặt trước khi thực hiện cài đặt này.

Một số tính năng nổi bật của MariaDB 10.7:

  • InnoDB: Một số cải tiến trong khung lưu trữ InnoDB.
  • UUID Data Type: Kiểu dữ liệu UUID mới được dành cho việc lưu trữ dữ liệu UUID 128-bit (Universally Unique Identifier).
  • Provider Plugins: Phiên bản này của MariaDB gồm năm plugin cung cấp (bzip2, lzma, lz4, lzo, snappy) để cung cấp khả năng nén cho máy chủ và khung lưu trữ.
  • Hàm SFORMAT: Hàm này nhận một chuỗi đầu vào và một định dạng và trả về chuỗi đã được định dạng sử dụng các quy tắc được chỉ định trong định dạng.
  • Natural Sort: Hàm NATURAL_SORT_KEY được thêm vào phiên bản 10.7.0 để thực hiện việc sắp xếp gần với sắp xếp tự nhiên.
  • Password Reuse: Plugin password_reuse_check là một plugin xác minh mật khẩu mới, ngăn người dùng sử dụng mật khẩu giống với mật khẩu đã sử dụng trong khoảng thời gian lưu trữ được cấu hình.
  • InnoDB Bulk Insert: Trong việc chèn hàng loạt, trước tiên sắp xếp và xây dựng chỉ mục một trang mỗi lần.
  • Diagnostics Property: Thuộc tính này được sử dụng để xác định hàng bị ảnh hưởng.

Install MariaDB 10.7 trên CentOS 7

Bước 1: Thêm kho lưu trữ YUM MariaDB

Một kho lưu trữ YUM MariaDB dành cho các hệ thống dựa trên RHEL có sẵn và có thể được thêm bằng cách chạy các lệnh sau:

curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
sudo bash mariadb_repo_setup --mariadb-server-version=10.7

Tập lệnh này thực thi quá trình cấu hình kho lưu trữ MariaDB cho YUM và nhập tất cả các khóa GPG cần thiết.

[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
[info] Adding trusted package signing keys...
/etc/pki/rpm-gpg ~
~
[info] Successfully added trusted package signing keys
[info] Cleaning package cache...
Loaded plugins: fastestmirror
Cleaning repos: base droplet-agent extras mariadb-main mariadb-maxscale mariadb-tools updates
Cleaning up list of fastest mirrors

Chúng ta có thể xác nhận xem liệu kho lưu trữ đã được thêm thành công bằng cách liệt kê tất cả các kho lưu trữ có sẵn.

$ sudo yum makecache
$ sudo yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* extras: mirror.math.princeton.edu
* updates: centos.mirror.constant.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10072
droplet-agent/x86_64 DigitalOcean Droplet Agent 7
extras/7/x86_64 CentOS-7 - Extras 500
mariadb-main MariaDB Server 42
mariadb-maxscale MariaDB MaxScale 4
mariadb-tools MariaDB Tools 15
updates/7/x86_64 CentOS-7 - Updates 3175
repolist: 13815

Bước 2: Tiến hành install MariaDB 10.7 trên CentOS 7 

Sau khi thêm kho lưu trữ, chúng ta tiếp tục cài đặt MariaDB 10.7 trên CentOS 7.

sudo yum install MariaDB-server MariaDB-client MariaDB-backup

Xác nhận phiên bản của các gói máy chủ và máy khách MariaDB đang được cài đặt và tiếp tục nếu mọi thứ đều ổn.

Dependencies Resolved

======================================================================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================================================================
Installing:
MariaDB-backup x86_64 10.7.1-1.el7.centos mariadb-main 6.9 M
MariaDB-client x86_64 10.7.1-1.el7.centos mariadb-main 14 M
MariaDB-compat x86_64 10.7.1-1.el7.centos mariadb-main 2.2 M
replacing mariadb-libs.x86_64 1:5.5.65-1.el7
MariaDB-server x86_64 10.7.1-1.el7.centos mariadb-main 25 M
Installing for dependencies:
MariaDB-common x86_64 10.7.1-1.el7.centos mariadb-main 81 k
boost-program-options x86_64 1.53.0-28.el7 base 156 k
galera-4 x86_64 26.4.9-1.el7.centos mariadb-main 9.6 M
libaio x86_64 0.3.109-13.el7 base 24 k
libpmem x86_64 1.5.1-2.1.el7 base 59 k
lsof x86_64 4.87-6.el7 base 331 k
pcre2 x86_64 10.23-2.el7 base 201 k
perl x86_64 4:5.16.3-299.el7_9 updates 8.0 M
perl-Carp noarch 1.26-244.el7 base 19 k
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-Data-Dumper x86_64 2.145-3.el7 base 47 k
perl-Encode x86_64 2.51-7.el7 base 1.5 M
perl-Exporter noarch 5.68-3.el7 base 28 k
perl-File-Path noarch 2.09-2.el7 base 26 k
perl-File-Temp noarch 0.23.01-3.el7 base 56 k
perl-Filter x86_64 1.49-3.el7 base 76 k
perl-Getopt-Long noarch 2.40-3.el7 base 56 k
perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k
perl-IO-Compress noarch 2.061-2.el7 base 260 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PathTools x86_64 3.40-5.el7 base 82 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
perl-Pod-Escapes noarch 1:1.04-299.el7_9 updates 52 k
perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k
perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k
perl-Pod-Usage noarch 1.63-3.el7 base 27 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k
perl-Socket x86_64 2.010-5.el7 base 49 k
perl-Storable x86_64 2.45-3.el7 base 77 k
perl-Text-ParseWords noarch 3.29-4.el7 base 14 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k
perl-Time-Local noarch 1.2300-2.el7 base 24 k
perl-constant noarch 1.27-2.el7 base 19 k
perl-libs x86_64 4:5.16.3-299.el7_9 updates 690 k
perl-macros x86_64 4:5.16.3-299.el7_9 updates 44 k
perl-parent noarch 1:0.225-244.el7 base 12 k
perl-podlators noarch 2.5.1-3.el7 base 112 k
perl-threads x86_64 1.87-4.el7 base 49 k
perl-threads-shared x86_64 1.43-6.el7 base 39 k
socat x86_64 1.7.3.2-2.el7 base 290 k

Transaction Summary
======================================================================================================================================================================================================
Install 4 Packages (+42 Dependent packages)

Total download size: 72 M
Is this ok [y/d/N]: y

Bạn có thể truy vấn thêm thông tin về phiên bản cài đặt của cơ sở dữ liệu MariaDB bằng lệnh rpm.

$ rpm -qi MariaDB-server
Name : MariaDB-server
Version : 10.7.1
Release : 1.el7.centos
Architecture: x86_64
Install Date: Sat Dec 4 12:10:25 2021
Group : Applications/Databases
Size : 127388696
License : GPLv2
Signature : DSA/SHA1, Sat Nov 6 21:58:58 2021, Key ID cbcb082a1bb943db
Source RPM : MariaDB-server-10.7.1-1.el7.centos.src.rpm
Build Date : Fri Nov 5 22:15:36 2021
Build Host : centos74-amd64
Relocations : (not relocatable)
Vendor : MariaDB Foundation
URL : http://mariadb.org
....

Bước 3: Khởi động và bảo mật MariaDB 10.7 trên CentOS 7 

Hãy khởi động dịch vụ cơ sở dữ liệu sau khi cài đặt thành công:

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

Xác nhận trạng thái đang chạy;

$ systemctl status mariadb
● mariadb.service - MariaDB 10.7.1 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 Sat 2021-12-04 12:16:38 UTC; 14s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 16703 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 16676 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSI>
Process: 16674 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 16687 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 16 (limit: 49496)
Memory: 68.0M
CGroup: /system.slice/mariadb.service
└─16687 /usr/sbin/mariadbd
...

Phiên bản của máy khách có thể được kiểm tra bằng lệnh sau:

$ mariadb -V
mariadb Ver 15.1 Distrib 10.7.1-MariaDB, for Linux (x86_64) using readline 5.

Chạy tập lệnh mariadb-secure-installation để bảo mật máy chủ cơ sở dữ liệu MariaDB.

$ sudo mariadb-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): <ENTER>
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: <INPUT-PASSWORD>
Re-enter new password: <CONFIRM-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!

Chỉ được truy cập vào shell MariaDB bằng mật khẩu.

$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 10.7.1-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.7.1-MariaDB |
+----------------+
1 row in set (0.000 sec)

Bước 4: Tạo cơ sở dữ liệu/người dùng thử nghiệm trong MariaDB

Tạo một cơ sở dữ liệu thử nghiệm với lệnh sau:

MariaDB [(none)]> CREATE DATABASE mydb;
Query OK, 1 row affected (0.001 sec)

Kiểm tra xem cơ sở dữ liệu đã được tạo chưa bằng cách hiển thị tất cả các cơ sở dữ liệu có sẵn.

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| mydb |
+--------------------+
5 rows in set (0.000 sec)

Bây giờ bạn đã install thành công MariaDB 10.7 trên máy chủ CentOS 7. Trong trường hợp có bất kỳ sự cố nào gặp phải trong quá trình cài đặt, vui lòng cho mình biết trong phần nhận xét bên dưới.

Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:

https://kdata.vn/cloud-vps

👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất